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倍呢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。