加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 13:56:25 所属栏目:MsSql教程 来源:网络整理
导读:1.前言。 ??? sqlserver2005的存储过程,在完整的单独过程中嵌套用游标是没问题的,但是,如果主存储过程有游标,子存储过程再定义游标将不能正确执行。 怎么解决这个问题呢? oracle可以用select into 等loop循环取代游标,sqlserver也有类似功能,但sqlser
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倍呢。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读