Встроенные скалярные функции :реальные или пустые?

Каков правильный синтаксис для создания встроенной скалярной функции в SQL Server?

Электронные книги, в Типы функций , глава (2005 г. и выше ), говорят о встроенных скалярных функциях так, как будто они существуют и как будто блок BEGIN...ENDне требуется (в отличие от многострочных функций):

Для встроенной скалярной функции нет тела функции; скаляр value является результатом одного оператора. Для скалярной функции с несколькими операторами тело функции, определенное в блоке BEGIN...END, содержит серию инструкций Transact -SQL, которые возвращают одно значение.

Я также заметил строку для "IS :встроенная скалярная функция" в списке типов объектов в таблице значений spt _:

SELECT name
FROM master..spt_values
WHERE type = 'O9T'
AND name LIKE '%function%'

Я пытался создать такую ​​функцию с безуспешно:

CREATE FUNCTION AddOne(@n int) RETURNS int
AS
    RETURN @n + 1

Сообщение об ошибке

Сообщение 102, уровень 15, состояние 31, процедура AddOne, строка 3 Неверный синтаксис возле "ВОЗВРАТ".

Я что-то упустил или в электронной документации произошла ошибка?

16
задан Anthony Faull 3 May 2012 в 15:20
поделиться