3 回答

TA貢獻(xiàn)1712條經(jīng)驗 獲得超3個贊
如果可以使用SQLCMD模式,那么該咒語
:on error exit
(包括冒號)將導(dǎo)致RAISERROR實際上停止腳本。例如,
:on error exit
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SOMETABLE]') AND type in (N'U'))
RaisError ('This is not a Valid Instance Database', 15, 10)
GO
print 'Keep Working'
將輸出:
Msg 50000, Level 15, State 10, Line 3
This is not a Valid Instance Database
** An error was encountered during execution of batch. Exiting.
批處理將停止。如果未打開SQLCMD模式,則將出現(xiàn)有關(guān)冒號的解析錯誤。不幸的是,它不是完全防彈的,就好像該腳本在未處于SQLCMD模式下運(yùn)行時一樣,SQL Managment Studio甚至在解析時間錯誤時都輕而易舉!不過,如果您是從命令行運(yùn)行它們,那很好。
- 3 回答
- 0 關(guān)注
- 1338 瀏覽
添加回答
舉報