2015-04-15 106 views
0

我想創建一個存儲過程,將添加一輛車,它也將需要有錯誤處理,它將接受一個驅動程序號碼(不同表) ,如果它不存在,它會提高一個錯誤。存儲過程中的錯誤處理

我不知道如何處理這個,有什麼建議或例子類似的代碼,將不勝感激,

謝謝

回答

1

您正在尋找沿

IF NOT EXISTS (SELECT TOP 1 * FROM tableDrivers WHERE DriverNumber = @DriverNumber_IN) 
    BEGIN 
     RAISERROR('MEANINGFULSTRING TO HANDLE IN CLIENT CODE', 18, 1) 
     RETURN 
    END 
東西線

這樣你退出存儲過程,無論你調用存儲過程的客戶代碼如何,你都可以看到在客戶代碼中處理意味着什麼,例如在SQL中異常你是否在C#中使用ADO.Net

+0

很好謝謝,btw 18,1是什麼意思? – Vlad11

+0

@ Vlad11 18是錯誤的嚴重程度,18通常意味着問題不能被用戶修復。 1是錯誤的狀態,並且錯誤的狀態直到寫錯誤的人處理他們想要的錯誤。你可以在這裏查看關於RAISERROR的文檔https://msdn.microsoft.com/en-us/library/ms178592.aspx –