Каков правильный синтаксис для создания встроенной скалярной функции в SQL Server?
Книги в Интернете, в главе Типы функций (2005 и выше), рассказывают о встроенных скалярных функциях, как будто они существуют, и как будто блок BEGIN...END
требуется (в отличие от многострочных функций):
Для встроенной скалярной функции нет тела функции; скалярный value - результат одного оператора. Для многостадийной скалярной функции тело функции, определенное в блоке BEGIN... END, содержит ряд операторов Transact-SQL, которые возвращают единственное значение.
Я также заметил строку для "IS: встроенная скалярная функция" в списке типов объектов в таблице spt_values:
SELECT name
FROM master..spt_values
WHERE type = 'O9T'
AND name LIKE '%function%'
Я попытался создать такую функцию без успеха:
CREATE FUNCTION AddOne(@n int) RETURNS int
AS
RETURN @n + 1
Сообщение об ошибке
Msg 102, уровень 15, состояние 31, процедура AddOne, строка 3 Неправильный синтаксис рядом с "RETURN".
Я что-то упустил или есть ошибка в онлайн-книгах?