October 5, 2010 at 8:31 am
Tom.Thomson (10/5/2010)
Nice question.But is there something wrong with the documentation? The BoL page referenced states
@@TRANCOUNT is incremented by one when entering a trigger, even when in autocommit mode. (The system treats a trigger as an implied nested transaction.)
which suggests that the two rows logged for the insert of value 2 (which occurred in an explicit transaction) should have tc = 2 not tc = 1.
I don't know. You are right but experiments show this behaviour.
Many times I read BOL or some other documentation I feel like being in the helicopter.
October 5, 2010 at 12:39 pm
honza.mf (10/5/2010)
I don't know. You are right but experiments show this behaviour.Many times I read BOL or some other documentation I feel like being in the helicopter.
BoL often makes me feel like that. And the experiment in this case shows another oddity: when in autocommit mode, a reference to @@tc in the statement bring auto-committed will be evaluated before the transaction is started (hence the 0 count in the first and fourth rows).
I've written quite a lot of things that look at @@tc for various reasons, but results like these make me very very careful about doing it!
Tom
Viewing 2 posts - 31 through 31 (of 31 total)
You must be logged in to reply to this topic. Login to reply