powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Уникальность записи в триггерных inserted/deleted
4 сообщений из 4, страница 1 из 1
Уникальность записи в триггерных inserted/deleted
    #40115413
WinterGraveyard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дано: некая таблица с полем id primary key. Таблица изменяется различными способами - update/delete c джойнами, merge (разве что bulk insert не делается). Вопрос: можно ли полагаться на то, что при любом варианте изменения таблицы в DML-триггере в таблицах inserted/updated значение поля id будет уникально? Рылся в документации ( здесь , здесь ) - ничего по этому поводу не нашел, но все тестовые примеры, которые прогонял, дают уникальное значение. Хотелось бы быть уверенным наверняка насчет этой уникальности, поскольку в противном случае существующий вариант триггера отработает с ошибкой. Спасибо.
...
Рейтинг: 0 / 0
Уникальность записи в триггерных inserted/deleted
    #40115415
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinterGraveyard,

Полагаться можно. Триггеры after insert / update / delete запускаются после окончания операции и на входе получают финальное состояние записей. Если строку обновляли 100 раз в ходе одного апдейта, то в триггере будет только ее финальное состояние.

Merge выкинет ошибку, если ваш код попытается повторно обновить одну и ту же строку, т.е. до триггера дело не дойдет.
...
Рейтинг: 0 / 0
Уникальность записи в триггерных inserted/deleted
    #40115424
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinterGraveyard
Дано: некая таблица с полем id primary key. Таблица изменяется различными способами - update/delete c джойнами, merge (разве что bulk insert не делается). Вопрос: можно ли полагаться на то, что при любом варианте изменения таблицы в DML-триггере в таблицах inserted/updated значение поля id будет уникально? Рылся в документации ( здесь , здесь ) - ничего по этому поводу не нашел, но все тестовые примеры, которые прогонял, дают уникальное значение. Хотелось бы быть уверенным наверняка насчет этой уникальности, поскольку в противном случае существующий вариант триггера отработает с ошибкой. Спасибо.


Рыться надобно в голове.

Id - уникальный ключ таблицы.
Одна строка таблицы обновляется/удаляется только один раз в одной инструкции DML.

Отсюда тривиальный вывод.
...
Рейтинг: 0 / 0
Уникальность записи в триггерных inserted/deleted
    #40115632
WinterGraveyard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понятно, спасибо.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Уникальность записи в триггерных inserted/deleted
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]