在sql Server中创建内联标量函数的正确语法是什么?
在线图书在Types of Functions章(2005年及以后)中讨论了内联标量函数,就像它们存在一样,就好像不需要BEGIN … END块(与多行函数相反):
For an inline scalar function,there is no function body; the scalar
value is the result of a single statement. For a multistatement scalar function,the function body,defined in a BEGIN…END block,contains a series of Transact-sql statements that return the single value.
在spt_values表中的对象类型列表中,我也注意到了一行“IS:inline scalar function”
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,Level 15,State 31,Procedure AddOne,Line 3 Incorrect Syntax
near ‘RETURN’.
我在书籍上遗漏了什么,还是出现错误?