15.6.6 三种用户定义函数定义及调用示例.sql
来自「sqlserver 数据库编程的绝好脚本」· SQL 代码 · 共 42 行
SQL
42 行
--标量值函数
CREATE FUNCTION dbo.f_1()
RETURNS bit
AS
BEGIN
RETURN(1)
END
GO
--内嵌表值函数
CREATE FUNCTION dbo.f_2()
RETURNS TABLE
AS
RETURN(SELECT re=1)
GO
--多语句表值函数
CREATE FUNCTION dbo.f_3()
RETURNS @re TABLE(re bit)
AS
BEGIN
INSERT @re VALUES(1)
RETURN
END
GO
--不指定所有者时,调用标量值函数会出错
SELECT f_1()
/*--结果
服务器: 消息 195,级别 15,状态 10,行 2
'f_1' 不是可以识别的 函数名。
--*/
GO
--指定所有者调用标量值函数成功,而所有者为dbo时,表值函数可以不指定所有者调用
SELECT dbo.f_1()
SELECT * FROM f_2()
SELECT * FROM f_3()
GO
DROP FUNCTION f_1,f_2,f_3
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?