无法完成游标操作,因为在声明该游标后,所设置的选项发生了更改

近日,一个应用的SQL Server数据库由SQL2000移植到SQL2008环境下.
原本正常的一个功能,移植后却提示:"无法完成游标操作,因为在声明该游标后,所设置的选项发生了更改"
经查找原因,是对应的一个存储过程中,因为需要进行星期几的判断,所以用了SET DATEFIRST 1语句.
而这个set语句位置写在了定义游标(declare)与打开游标(open)之间.
这样的写法,在SQL2000下是可以的.但在SQL2008下却是会触发上述错误的.
最后,改写存储过程,将set语句移到定义游标之前,问题解决.

如此看来,养成好的编码习惯.这样能尽可能的减少软件环境移植所带来的负面影响.

请使用浏览器的分享功能分享到微信等