sqlserver 子存储过程嵌套的解决方案

1.前言。
sqlserver2005的存储过程,在完整的单独过程中嵌套用游标是没问题的,但是,如果主存储过程有游标,子存储过程再定义游标将不能正确执行。 怎么解决这个问题呢? oracle可以用select into 等loop循环取代游标,sqlserver也有类似功能,但sqlserver这个功能不完善,只能进行结果集的数量判断,不能有游标功能。不过这用在子存储过程的查询,已经足够了。这个方法,就是用这个方式去写:
select @a=[column1] from table1
if(@@rowcount>0)
begin
end;
其中@a你需要预先定义,columen1是你的表table1的字段名称
2.总结
(1)注意select @a=[column1] from table1后面不要有分号,否则你的if永远进不去。rowcount只是瞬时的。
(2)用sqlserver写存储过程特别憋屈,没办法,忍吧。谁叫比oracle便宜3-6倍呢。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值