三种用户定义函数定义及调用示例

--标量值函数
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值