汪汪一只貓
2019-12-09 15:18:56
有沒有一種方法可以立即停止在SQL Server中執(zhí)行SQL腳本,例如“ break”或“ exit”命令?我有一個腳本,該腳本在開始執(zhí)行插入操作之前會進行一些驗證和查找,并且如果任何驗證或查找失敗,我希望它停止。
3 回答

交互式愛情
TA貢獻1712條經(jīng)驗 獲得超3個贊
如果可以使用SQLCMD模式,那么該咒語
:on error exit
(包括冒號)將導致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)有關冒號的解析錯誤。不幸的是,它不是完全防彈的,就好像該腳本在未處于SQLCMD模式下運行時一樣,SQL Managment Studio甚至在解析時間錯誤時都輕而易舉!不過,如果您是從命令行運行它們,那很好。
- 3 回答
- 0 關注
- 1356 瀏覽
添加回答
舉報
0/150
提交
取消