無法完成遊標操作,因為在宣告該遊標後,所設定的選項發生了更改

qdrzq發表於2014-08-13

近日,一個應用的SQL Server資料庫由SQL2000移植到SQL2008環境下.
原本正常的一個功能,移植後卻提示:"無法完成遊標操作,因為在宣告該遊標後,所設定的選項發生了更改"
經查詢原因,是對應的一個儲存過程中,因為需要進行星期幾的判斷,所以用了SET DATEFIRST 1語句.
而這個set語句位置寫在了定義遊標(declare)與開啟遊標(open)之間.
這樣的寫法,在SQL2000下是可以的.但在SQL2008下卻是會觸發上述錯誤的.
最後,改寫儲存過程,將set語句移到定義遊標之前,問題解決.

如此看來,養成好的編碼習慣.這樣能儘可能的減少軟體環境移植所帶來的負面影響.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29512902/viewspace-1250497/,如需轉載,請註明出處,否則將追究法律責任。

相關文章