私は困惑してイライラしています.2人の同僚もそうです...トランザクションを開始し、多くのことを実行するストアドプロシージャがあります(多くの動的SQLステートメントを含む)が、その下のステートメントに到達するとすぐに例外を除いて爆撃します。ただし、ステートメントをハードコードすると、正常に実行されます。
また、それ自体の try ブロックにステップ インせず、次のエラーでストアド プロシージャの呼び出しの try ブロックにすぐに爆撃します。
EXECUTE 後のトランザクション数は、BEGIN ステートメントと COMMIT ステートメントの数が一致していないことを示しています。前のカウント = 0、現在のカウント = 1。
何か不足している場合はお知らせください...
SET @SQL = N'UPDATE PF205.dbo.SOP30200 SET ECTRX = 4 WHERE SOPNUMBE = @SOPNUMBE AND SOPTYPE = 4'
SET @PARAMDEF = N'@SOPNUMBE CHAR(21)';
BEGIN TRY
EXECUTE sp_executesql @SQL,
@PARAMDEF,
@SOPNUMBE = @SOPNUMBE
END TRY
BEGIN CATCH
SELECT ERROR_NUMBER(),
ERROR_MESSAGE()
END CATCH