• try this:

    CREATE TABLE MyTable (MyId INT IDENTITY (1,1),

    MyCity NVARCHAR(50))

    BEGIN TRANSACTION OuterTran

    INSERT INTO MyTable VALUES ('Boston')

    BEGIN TRANSACTION InnerTran

    INSERT INTO MyTable VALUES ('London')

    ROLLBACK TRAN

    BEGIN TRANSACTION InnerTran

    INSERT INTO MyTable VALUES ('paris')

    IF (@@TRANCOUNT = 0)

    BEGIN

    PRINT 'All transactions were rolled back'

    END

    ELSE

    BEGIN

    PRINT 'Outer transaction is still open....rolling back...'

    ROLLBACK TRANSACTION OuterTran

    END

    Message:

    (1 row(s) affected)

    (1 row(s) affected)

    (1 row(s) affected)

    Outer transaction is still open....rolling back...

    Msg 6401, Level 16, State 1, Line 23

    Cannot roll back OuterTran. No transaction or savepoint of that name was found.

    It will be the else loop case.