2013-12-20 49 views

回答

1

你可以做這樣的事情:

DECLARE @RESULT int 

BEGIN TRY 
    SELECT @RESULT = 1/0 
END TRY 
BEGIN CATCH 
    SELECT @RESULT = 1 
END CATCH 

SELECT @RESULT 
+0

呀我們希望避免使用臨時表。它要麼檢查是否存在或執行此操作。謝謝您的回答。真正的sproc實際上會返回多個列。後來投了票。 – Bozman

+0

我有點想。是的,您必須使用臨時表/變量來實現上述方法。另一種方法 - 有2個獨立的選擇,如你的例子和接收端總是抓住最後的結果集。無論是否存在錯誤,這都會普遍起作用。 –

+0

我喜歡那個想法。但是我們實際上會返回記錄集和錯誤集,這就是爲什麼這個例子對其他人來說看起來很奇怪。它適用於大多數情況,除非有任何選擇錯誤。標記爲答案,因爲我相信沒有設置或其他技巧可以使它以這種方式工作。 – Bozman

相關問題