存储过程调用问题

时间:2014-01-30 10:35:48

标签: sql sql-server tsql

我有存储过程A,它更新了2个表,并在另一个数据库中执行第二个存储过程B。所有代码都包含在事务中。但是,保存存储过程B的数据库会一直锁定在未提交的事务中。为什么?

我认为代码是正确的。您是否还认为我应该考虑运行以下代码:

@Success是存储过程B

的输出
BEGIN TRY

    BEGIN TRANSACTION 

        Update tblTableA set varA = @ValueA

        Update tblTableB set varB = @ValueB

        EXEC Database2.schema.StoredprocB @ValueC, @Success

                    SELECT  @Success                                                        

        IF @Success = 1
            ROLLBACK 
        ELSE
            COMMIT 

END TRY

BEGIN CATCH

    ROLLBACK 
    SET @Success = 1

END CATCH

0 个答案:

没有答案