如果要在 SQL Server 執行 Script 時顯示處理進度或結果,可以使用 Print 和 Raiserror 列印訊息。
使用方式
一般來說,可以使用 PRINT
列印訊息:
PRINT <訊息>
不過該語法只會在整個 Script 執行完後顯示。如果要處理的資料很多,希望在處理到特定進度時就顯示訊息,可以改用 RAISERROR 語法:
RAISERROR (<訊息>, <嚴重度>, <狀態>) WITH NOWAIT
其中嚴重度由任何使用者可以設定為 0 ~ 18,系統管理員可以設定為 19 ~ 25。當嚴重度 >= 11 時,控制權會交給 TRY ... CATCH ...
的 CATCH
區塊;當嚴重度 >= 19 時,則會中斷資料庫連接。
狀態可以設為 1 ~ 255 的任意值,有助於使用者快速找出問題來源,例如以下的指令:
RAISERROR('測試錯誤', 1, 8)
會顯示:
測試錯誤
訊息 50000,層級 1,狀態 8
WITH NOWAIT
則表示會立刻顯示訊息。