sql – 内联标量函数:真实或蒸汽软件?

前端之家收集整理的这篇文章主要介绍了sql – 内联标量函数:真实或蒸汽软件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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’.

我在书籍上遗漏了什么,还是出现错误

解决方法

那么AFAIK,没有存在(甚至没有隐藏的[mssqlsystemresource]数据库),没有任何语法来创建一个.所以看来,这是Microsoft通过添加一个类型(和doc!)在sql Server 2005的前提下预期的,但由于某些原因实际上并没有实现.

虽然它是所有Ms sql Server中唯一最需要的功能之一.主要是因为默认的UDF是这么慢,我们最终不得不后端ITVF得到相同的效果. (困难和笨拙,但它的作品).

原文链接:https://www.f2er.com/mssql/83027.html

猜你在找的MsSQL相关文章