0

私は困惑してイライラしています.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
4

0 に答える 0