如何才能保障存儲過程嵌套調(diào)用的原子性

字號:

此代碼用于解決存儲過程間嵌套調(diào)用時的全局原子性問題:
    DECLARE @TranStarted bit
    SET @TranStarted = 0
    IF( @@TRANCOUNT = 0 ) -- 用于嵌套
    BEGIN
    BEGIN TRANSACTION
    SET @TranStarted = 1
    END
    ELSE
    SET @TranStarted = 0
    .....
    IF( @TranStarted = 1 )
    BEGIN
    SET @TranStarted = 0
    COMMIT TRANSACTION
    END