我有一些SQL:只返回最後一批在try..catch
BEGIN TRY
DECLARE @RowsInserted int;
SET @RowsInserted = @@ROWCOUNT;
SELECT @RowsInserted+'test' as [SUCCESS];
END TRY
BEGIN CATCH
SELECT ERROR_MESSAGE() AS [ERROR]
END CATCH
令我驚訝的是,這實際上會產生兩個批次(數據集):
我可以」由於TRY...CATCH
的工作方式,請使用GO
來拆分批次。那麼這是否意味着如果發現一些錯誤,總會有一些虛擬結果集?
我真的很想做的就是扔掉SUCCESS批次(或其他被捕獲的這樣的虛擬批次)。否則,我將不得不瀏覽一些垃圾批來查找catch語句中的錯誤報告批處理,這似乎令人困惑。
有趣。我想知道爲什麼在catch塊中使用'select'的'TRY ... CATCH'有很多[示例](http://msdn.microsoft.com/zh-cn/library/ms175976.aspx)。 – user17753