2013-11-27 5 views
0

им новое для Microsoft SQL, однако у меня есть некоторый опыт работы с оракулом, что я пытаюсь сделать, это вернуть функцию просмотра с UDF и иметь результирующий столбец, упорядочиваетсяSQL заказ UDF на

CREATE FUNCTION FunctionSort ( @Name varchar(60), @familyName varchar(60)) 

RETURNS table 
AS 
return 
(
    select Name, familyName, familyName + ',' + Name as Result 
    from Employees 
    where Name = @Name and familyName = @familyName 
    order by Result asc 
) 
GO 
+0

Что именно вы пытаетесь достичь этой функцией? вы передаете две переменные, а затем просто выполняете конкатенацию на них строки? а также вы не можете использовать опцию order by в определении функции. –

+0

Я хотел бы получить 2 параметра из функции select, а затем вернуть столбец с дополнительным столбцом, отображающим имя и фамилию. – mrName

ответ

0

все, что вам нужно сделать, это вынуть ORDER BY п от вас определение функции и использовать его, когда вы на самом деле вызвать функцию ....
Функция определение

CREATE FUNCTION FunctionSort ( @Name varchar(60), @familyName varchar(60)) 
RETURNS table 
AS 
return 
(
    select Name, familyName, familyName + ',' + Name as Result 
    from Employees 
    where Name = @Name and familyName = @familyName 
) 
GO 

Cal l Функция

SELECT * FROM FunctionSort (@Name, @familyName) 
ORDER BY Result ASC