您可能會注意到 Halloween problem,如果使用不當,SQL遊標可能會成爲您的噩夢。SQL 2005 T-SQL編程 - 可能需要注意的缺陷
如果不小心使用SQL 2005功能,可能會引入的其他細微問題(難以調試和檢測)是什麼?
您可能會注意到 Halloween problem,如果使用不當,SQL遊標可能會成爲您的噩夢。SQL 2005 T-SQL編程 - 可能需要注意的缺陷
如果不小心使用SQL 2005功能,可能會引入的其他細微問題(難以調試和檢測)是什麼?
首先不應該使用遊標,除非絕對沒有其他方式來執行它。幾乎所有事情都可以基於集合來完成。數字表將有助於這一點。 檢查XACT_STATE註定事務。還有更多的事情需要注意的
試圖把SQL就像一個編程環境可能是最大的錯誤。 SQL是關於聲明你想要的。如果你正在使用的遊標或循環結構,問問自己,如果有,你可以將它轉換爲INSERT/UPDATE
有許多的問題浮現在腦海:
NULL有它的地方 - 當它真的意味着沒有選擇或值 - 但在很多情況下,你可能更好的定義一個默認值(在INT列通常爲「0」),這將代表「沒有」或「未做出選擇」等。
而且還與索引 - 如果你使用T-SQL函數在WHERE子句中,像 「UPPER(myCol)=(值)」 或 「LEFT(myCol,10)=(值)」,然後你也不會從索引中看到預期的好處。
索引可以大大提高你的表現 - 但指數明智!