Я создаю функцию SQL Server в SQL Server 2000. Мой синтаксис примерно так:CREATE FUNCTION SQL Server 2000
ALTER FUNCTION dbo.test()
RETURNS TABLE
AS
RETURN
(
DECLARE @A VARCHAR(100)
DECLARE @B VARCHAR(100)
SELECT @A='abc', @B='bca'
SELECT [email protected], [email protected]
)
Я пытаюсь объявить переменную и выбрать его в качестве возврата значение, но я получаю это сообщение об ошибке:
Msg 156, Level 15, State 1, Procedure test, Line 6
Incorrect syntax near the keyword 'DECLARE'.
Msg 170, Level 15, State 1, Procedure test, Line 10
Line 10: Incorrect syntax near ')'.
Кажется, он не примет объявление переменной. В чем проблема? Заранее спасибо.
Большое спасибо @Mikael Eriksson. Он решен. Но, должен ли я объявить возвращенную таблицу (@ возвращаюсь) сначала, чтобы получить результат как то, что я хочу? Принимая во внимание, что я просто хочу выбрать 2 переменных (как 2 столбца). Есть ли другой рисунок? Заранее спасибо –
Я обновил ответ с помощью встроенной версии. Это единственная альтернатива. Если вам нужно несколько операторов в вашей функции, вы должны объявить таблицу возврата. –
Спасибо за помощь Майк. Я только что понял это :) –