存储过程

从网上找资料学习了存储过程,编写了3个小例子如下:

1、带两个参数的存储过程

CREATE PROCEDURE dbo.twoparam

@age varchar(30),@name varchar(50)

AS

BEGIN

 

 select * from proctest where name=@name and age=@age

 

 

END

 

EXECUTE twoparam 'male','33'

 

 

2、带返回值的存储过程

CREATE PROCEDURE dbo.test(@sage int=null)

 

as

if @sage is null

begin

print '必须传参'

return 13

end

if not EXISTS(select * from proctest wheremoney>@sage)

begin

print('没有数据')

return -103

end

 

3、带游标的存储过程

select * from proctest where money>@sage

return 0

 

declare @count int

execute @count=test 22

print @count

 

CREATE PROCEDURE dbo.curtest

AS

BEGIN

  /*Procedure body */

 declare cur1 cursor for select Id, name,age,money from proctest

 

 declare @id int,@sname varchar(20) ,@sage varchar(20),@smoney int

 open cur1

 fetch next from cur1 into @id,@sname,@sage,@smoney

   While(@@fetch_status = 0)

   begin

   if @sage='女'

   begin

   set @sage='female'

   update  proctest set age=@sagewhere id=@id

   end

   

   else

   

     begin

     set @sage='male'

     update  proctest set age=@sagewhere id=@id

     END

     PRINT(@sname+'...'+@sage+'....')

  

    

    fetch next from cur1 into @id, @sname,@sage,@smoney

     

   end

 close cur1

 deallocate cur1

END

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值