相关疑难解决方法(0)

@@ ERROR和/或TRY - CATCH

Try-Catch会捕获@@ ERROR可以发现的所有错误吗?在下面的代码片段中,检查@@ ERROR是否值得?RETURN 1111会发生吗?

SET XACT_ABORT ON
BEGIN TRANSACTION

BEGIN TRY
    --do sql command here  <<<<<<<<<<<

    SELECT @Error=@@ERROR
    IF @Error!=0
    BEGIN
        IF XACT_STATE()!=0
        BEGIN
            ROLLBACK TRANSACTION
        END
        RETURN 1111
    END

END TRY
BEGIN CATCH

    IF XACT_STATE()!=0
    BEGIN
        ROLLBACK TRANSACTION
    END
    RETURN 2222

END CATCH

IF XACT_STATE()=1
BEGIN
    COMMIT
END

RETURN 0
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2005

15
推荐指数
2
解决办法
3万
查看次数

标签 统计

sql-server ×1

sql-server-2005 ×1

t-sql ×1