2010-07-15 87 views
4

我有一個漫長的存儲過程中,我想這樣做如下:T-SQL - 返回自定義錯誤消息和最終查詢

IF @SubPageDirectory IS NULL 
BEGIN 
    RAISERROR('@SubPageDirectory cannot be NULL', 10, 1) 
    EXIT STORED PROCEDURE 
END 

基本上,我想檢查我的變量是否NULL,如果是,則將錯誤消息返回給我的.NET Web應用程序,並停止在該階段運行查詢。我怎樣才能做到這一點?

回答

12
IF @SubPageDirectory IS NULL 
BEGIN 
    RAISERROR('@SubPageDirectory cannot be NULL', 16, 1) --change to > 10 
    RETURN --exit now 
END 
+0

您是否需要退貨?我認爲raiserror會退出。 – DaveShaw 2010-07-15 13:59:56

+1

@DaveShaw:不,它繼續執行 – gbn 2010-07-15 14:11:01

+0

RETURN似乎沒有任何錯誤返回,因爲它不會向用戶顯示錯誤,它只會繼續。 RAISERROR自己繼續讀取存儲過程,因爲它會帶來另一個錯誤。 – Curt 2010-07-15 14:12:27