這裏的情景:從TSQL Proc返回錯誤的最佳方法是什麼?
- 您加載一個頁面,這使得基於數據庫中的數據(稱這些「假設」)
- 有人改變的假設
- 您提交頁面
- 錯誤!
的一般模式來解決這個問題是這樣的(右):
在你保存PROC,一開始並提交事務中,首先驗證你的假設。如果它們中的任何一個發生了變化,您應該返回一個正常的錯誤消息,類似於您遇到問題的ID的XML列表,您在中處理,而不是讓它由缺省錯誤處理基礎結構處理。
所以我的問題是什麼是最好的方式來做到這一點?
- 返回xml列表和一個錯誤標誌在未設置的輸出參數中,如果它正確地完成則返回0?
- 使用out參數返回錯誤狀態,proc的結果是錯誤列表還是proc的有效結果?
- 還有別的嗎? (我要指出,RAISEERROR會導致PROC是錯誤的,並獲得由默認的錯誤處理代碼拾起)
更新:我想返回失敗ID的maniplatable列表(我打算在應用程序中突出顯示這些單元格)。我可以在RAISEERROR中以CSV格式返回它們,但看起來很髒。