2011-01-26 91 views
1

我目前正在爲我的一個項目輸入一個腳本,並且目前很難找到有關如何執行MS SQL所提供的大部分功能的信息。如何確定腳本中SQL語句是否失敗

我想弄清楚一種方法來測試一個SQL語句是否未能執行。例如,嘗試插入表中已存在的記錄。任何幫助將不勝感激

回答

5

您可以使用SQL Server的try/catch capabilities

Another article source和樣品T-SQL:

BEGIN TRY 
    DECLARE @X INT 
    -- Divide by zero to generate Error 
    SET @X = 1/0 
    PRINT 'Command after error in TRY block' 
END TRY 
BEGIN CATCH 
    PRINT 'Error Detected' 
END CATCH 

例如處理catch塊中的特定操作失敗。

+0

啊謝謝你的提示,非常有幫助 – Steve 2011-01-27 04:03:44

+0

@Steve:沒問題。但請不要忘記參加上/下投票並接受答案。這就是你如何驗證一個答案,這是什麼使得SO工作如此順利。請查看FAQ:http://stackoverflow.com/faq,特別是聲望部分。歡呼,歡迎來到SO! – 2011-01-27 04:11:06

1

嘗試抓住是要走的路。如果你在一個porcess中有很多步驟,並且希望看到它在某個日期的詳細信息,包括錯誤,那麼你可以隨時將你需要的詳細信息存儲在一個表變量中(並且catch塊中的錯誤),然後在回滾之後,將詳細信息插入到permananet日誌記錄表中。這會給你一個錯誤的歷史,這在以後的研究中可能是無價的。表變量不會在臨時表回滾時超出範圍。