1
,如果我有一個處理一個catch語句錯誤是有辦法防止一個空的結果,如果從select語句錯誤返回集的存儲過程?防止SQL Server的存儲過程從返回的結果集,如果select語句錯誤
BEGIN TRY
select 1/0 as WHAT;
END TRY
BEGIN CATCH
SELECT 0 AS status_code;
END CATCH
找回來1分的結果集,無論它是否錯誤,或者如果成功了(顯然這個例子永遠是錯誤)
呀我們希望避免使用臨時表。它要麼檢查是否存在或執行此操作。謝謝您的回答。真正的sproc實際上會返回多個列。後來投了票。 – Bozman
我有點想。是的,您必須使用臨時表/變量來實現上述方法。另一種方法 - 有2個獨立的選擇,如你的例子和接收端總是抓住最後的結果集。無論是否存在錯誤,這都會普遍起作用。 –
我喜歡那個想法。但是我們實際上會返回記錄集和錯誤集,這就是爲什麼這個例子對其他人來說看起來很奇怪。它適用於大多數情況,除非有任何選擇錯誤。標記爲答案,因爲我相信沒有設置或其他技巧可以使它以這種方式工作。 – Bozman