我們有時會編寫重命名錶或列並具有其他複雜邏輯的數據端口腳本。我們還在引用這些舊列或表的IF語句中使用SQL。我們有一個使用IF語句的標準來使得我們的SQL腳本能夠很好地運行。禁用SQLCMD語法檢查
然而,即使if語句的計算結果爲false,封裝在代碼塊中的代碼出錯了,但我猜測是因爲語法檢查。
if 1 = 0
begin
select * from mydatabase.dbo.mytable; -- doesn't execute, but still errors because doesn't exist
end
另一個奇怪的是它並不總是一致的,有時它工作正常。
有沒有人知道我是否可以通過腳本禁用這些腳本檢查的方式。
感謝
注意
我知道人們會說,他們嘗試過類似的情況,並沒有錯誤。起初對我來說,它在SSMS中沒有錯誤,但在SQLCMD中出錯。
sqlcmd MyTestScript.sql -r 1 -U user -P password
然後我把SSMS以SQLCMD模式查詢 - > CMDMODE,它仍然沒有給出錯誤。 然後重新運行幾次後,它開始出現錯誤。
我不認爲這是可以做到的,但我會看着你的答覆。 – 2009-10-16 17:32:57