SQL函数的自定义和调用

SQL中自定义的函数分为标量函数和表值函数。

标量函数 :返回值是一个值;
​表值函数 :返回值是一张表 。

标量函数:

create function testa(@id int) --定义函数名(随意)、参数、参数类型(可以有很多个参数,用‘,’分隔)
returns varchar(10) -- 定义返回结果的类型
as
begin
	declare @value varchar(10)
	select @value = name from user where uid = @id
	return @value
end	

--调用函数
select dbo.testa(1)

表值函数之内嵌函数:

--返回所有学生的信息  注意此处不需begin-end包裹

create function testb() --定义函数名(随意)、参数、参数类型(可以有很多个参数,用‘,’分隔)
returns table -- 定义返回结果类型为一张表
as
	return (select * from student)

--调用函数
select * from dbo.testb()

表值函数-多语句函数:

create function testc(@sname varchar(10))
returns @tempa table(
	id int,
	namess varchar(10),
	mathsc int,
	chinesesc int
)		--自定义表中的字段
as
begin 
	insert into @tempa
	select s.sid,s.name,sc.math_score,sc.chinese_score from student s 
	left join score sc on sid = csno where name = @sname
	return
	end 
--调用函数
select * from dbo.testc('孙')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值