Приводит ли @@ IDENTITY в SP к использованию триггеров состояние гонки? - PullRequest
3 голосов
/ 11 января 2011

Если бы я использовал @@IDENTITY в SQL sp, который также активировал триггер, это привело бы к состоянию гонки?

Скажем, я выполняю INSERT INTO TABLE_A, который запускает INSERT INTO TABLE_B тогда,в текущей области я использую @@IDENTITY

Буду ли я всегда получать итоговую идентификацию из триггера (TABLE_B) или это будет зависеть от того, какой поток завершил первым?1013 * Примечание: я знаю о SCOPE_IDENTITY, этот вопрос является гипотетическим ....

1 Ответ

2 голосов
/ 11 января 2011

Я полагаю, что вы всегда будете получать удостоверение из таблицы B, потому что ваша транзакция в таблице A не считается завершенной и подтвержденной (и ваш T-SQL не может продвигаться) до тех пор, пока не завершены обе операции вставки и триггера. , Даже если вы используете триггер AFTER, вы все еще ждете, пока код триггера не будет выполнен, прежде чем перейти к следующей строке и запросить идентификатор @@.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...