在 SQL Server中创建内联标量函数的正确语法是什么?
Books Online,在Types of Functions章节(2005 年及以上)中,讨论了内联标量函数,就好像它们存在并且好像不需要BEGIN...END
块(与多行函数相比):
对于内联标量函数,没有函数体;标量值是单个语句的结果。对于多语句标量函数,在 BEGIN...END 块中定义的函数体包含一系列返回单个值的 Transact-SQL 语句。
我还注意到spt_values 表的对象类型列表中有一行“IS:内联标量函数” :
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 行“返回”附近的语法不正确。
是我遗漏了什么还是联机丛书中有错误?