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

/*===========================存储过程=================================*/

--不带参数的存储过程

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值