sqlserver中的自定义函数

来源:爱站网时间:2019-11-06编辑:网友分享
自定义函数是我们平时的说法,但是有许多小伙伴们对于sqlserver中的自定义函数并不是非常了解的,那么我们今天就跟爱站小编一起去看看具体的介绍吧。

自定义函数是我们平时的说法,但是有许多小伙伴们对于sqlserver中的自定义函数并不是非常了解的,那么我们今天就跟爱站小编一起去看看具体的介绍吧。

“自定义函数”是我们平常的说法,而“用户定义的函数”是 SQL Server 中书面的说法。

SQL Server 2000 允许用户创建自定义函数,自定义函数可以有返回值。

自定义函数分为:标量值函数或表值函数

如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数。可以使用多条 Transact-SQL 语句定义标量值函数。
如果 RETURNS 子句指定 TABLE,则函数为表值函数。
表值函数又可分为:内嵌表值函数(行内函数)或多语句函数

如果 RETURNS 子句指定的 TABLE 不附带列的列表,则该函数为内嵌表值函数。
如果 RETURNS 子句指定的 TABLE 类型带有列及其数据类型,则该函数是多语句表值函数。
标量值函数示例

复制代码 代码如下:

CREATE FUNCTION dbo.Foo()
RETURNS int
AS
BEGIN
declare @n int
select @n=3
return @n
END


内嵌表值函数示例

 

复制代码 代码如下:

 


CREATE FUNCTION dbo.Foo()
RETURNS TABLE
AS
return select id, title from msgs


内嵌表值函数只有一个 select 语句。

多语句表值函数示例(部分)

 

 


注意其 RETURNS 部分。

多语句函数的主体中允许使用以下语句。未在下面的列表中列出的语句不能用在函数主体中。

赋值语句。
控制流语句。
DECLARE 语句,该语句定义函数局部的数据变量和游标。
SELECT 语句,该语句包含带有表达式的选择列表,其中的表达式将值赋予函数的局部变量。
游标操作,该操作引用在函数中声明、打开、关闭和释放的局部游标。只允许使用以 INTO 子句向局部变量赋值的 FETCH 语句;不允许使用将数据返回到客户端的 FETCH 语句。
INSERT、UPDATE 和 DELETE 语句,这些语句修改函数的局部 table 变量。
EXECUTE 语句调用扩展存储过程。

以上就是关于sqlserver中的自定义函数的介绍,今天图老师给大家分享具体的内容,希望可以对大家能有小小的帮助。

上一篇:SQL Server数据库开发的法则

下一篇:SQL创建存储过程的方法

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载