我使用生成的SQL腳本(sql 2k5)將一列添加到表中。如果列不存在alter table
我需要添加一個「檢查是否存在」,因爲我的客戶有時運行腳本兩次。 (我在這個部分沒有控制權,這是發生了一遍又一遍)
我找到了一種方法加入的sysobjects和syscolumns中,它的工作原理。
我的問題是,我有一個列添加到其他表,其中列不是在表的末尾。
對於這一個,SQL是生成長碼...創建新的臨時表的新列中,從舊錶填滿,刪除舊錶,並最終改名臨時表。
的這裏的問題是,這一個劇本有很多GO的出現-s與交易一起...
我能做些什麼?
1)刪除所有GO - S? (不喜歡這個主意)
2)加入我的IF之間的每一個GO對? (不喜歡這個主意)
3)是否有有意義的其它方式,它不會太難實現
我想不出什麼真的,我可以檢查的發行版本,或者其他任何東西,不僅僅是我的sysobjects和syscolumns加入,但問題將是相同的。
因爲GO-S,我如果將被「遺忘」當它到達的開始結束...
聽起來很有趣。會嘗試,會讓你知道 – Ash 2011-05-02 13:25:43