相关疑难解决方法(0)

事务中的TSQL Try/Catch,反之亦然?

我正在编写一个脚本,它将从多个表中删除记录,但在删除之前,它必须返回一个计数,供用户在提交之前进行确认.

这是脚本的摘要.

BEGIN TRANSACTION SCHEDULEDELETE
    BEGIN TRY
        DELETE   -- delete commands full SQL cut out
        DELETE   -- delete commands full SQL cut out
        DELETE   -- delete commands full SQL cut out
        PRINT 'X rows deleted. Please commit or rollback.' --calculation cut out.
    END TRY
    BEGIN CATCH 
        SELECT
            ERROR_NUMBER() AS ErrorNumber,
            ERROR_SEVERITY() AS ErrorSeverity,
            ERROR_STATE() AS ErrorState,
            ERROR_PROCEDURE() AS ErrorProcedure,
            ERROR_LINE() AS ErrorLine,
            ERROR_MESSAGE() AS ErrorMessage

            ROLLBACK TRANSACTION SCHEDULEDELETE
            PRINT 'Error detected, all changes reversed.'
    END CATCH

--COMMIT TRANSACTION SCHEDULEDELETE --Run …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server transactions sql-delete

24
推荐指数
2
解决办法
5万
查看次数

标签 统计

sql-delete ×1

sql-server ×1

t-sql ×1

transactions ×1