私はいくつかのSQLを持っています:
BEGIN TRY
DECLARE @RowsInserted int;
SET @RowsInserted = @@ROWCOUNT;
SELECT @RowsInserted+'test' as [SUCCESS];
END TRY
BEGIN CATCH
SELECT ERROR_MESSAGE() AS [ERROR]
END CATCH
驚いたことに、これは実際には 2 つのバッチ (データ セット) を生成します。
GO
仕組み上、バッチを分割することはできませんTRY...CATCH
。エラーが発生した場合、常にダミーの結果セットが存在するということですか?
私が本当にやりたいのは、SUCCESS バッチ (またはキャッチされたときにこのような他のダミー バッチ) を破棄することです。そうしないと、いくつかのガベージ バッチをナビゲートして、catch ステートメントでエラー報告バッチを見つける必要があり、混乱を招くようです。