您的位置:首页 > 其它

关于获取存储过程返回值方法小记

2016-06-12 12:19 375 查看
/*===========================存储过程=================================*/

--不带参数的存储过程

create proc proc_one
as
select * from student

--带输出参数的存储过程

create proc proc_two(@sname varchar(20) output,@sno int=611101)
as
select @sname=sname from student where sno=@sno

--调用带输出参数的存储过程

declare @sno int,@sname varchar(20)
exec proc_two @sname output
select @sname

--例1 创建一个带参数的存储过程,返回一个标量
create proc sumP(@n int)
as
declare @sum int,@count int
set @sum=0
set @count=1
while @count<=@n
begin
set @sum=@sum+@count
set @count=@count+1
end
return @sum

--获取存储过程的返回值
declare @sum int
exec @sum=sumP 20   --调用存储过程给变量@sum赋值
select @sum

--例2 创建一个存储过程,返回一个表值,可以存储给一个表变量
create proc  proc2(@s char(2))
as
select sno,sname from student where ssex='男'

--声明一个表变量,将返回结果插入到表变量
declare @test table(sno int,sname varchar(20))
insert into @test exec proc2 '女'
select * from @test
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: