
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.11.2002, 18:45:18
|
|||
|---|---|---|---|
Правильный триггер |
|||
|
#18+
Пишу триггер для аудита (например на инсерт в таблицу А). В триггере идет инсерт в аудитную таблицу, а запросы вызывающие триггер имеют вид: insert A values (...) select @id=@@identity insert B values (@id,...) легко видеть что после триггера значение @@identity изменится. Как правильно написать триггер в этом случае? (запросы на инсерт в таблицу А исправлять нельзя, так как их написаль разработчики) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.11.2002, 18:49:47
|
|||
|---|---|---|---|
|
|||
Правильный триггер |
|||
|
#18+
Я неуверен, что понял в чем проблема, но: Не используйте identity rows, т.е. пишите свой генератор следующего ключа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.11.2002, 18:49:51
|
|||
|---|---|---|---|
|
|||
Правильный триггер |
|||
|
#18+
А что должно получиться?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.11.2002, 20:07:19
|
|||
|---|---|---|---|
Правильный триггер |
|||
|
#18+
Не использовать identity rows не поможет, так как при инсерте в такую таблицу предыдущее значение @@IDENTITY cбрасывается. 2 3JIA9I CyKA. может я криво пояснил, должно быть так: в таблицу В вставляется @@IDENTITY из А, а получается что значение @@IDENTITY изменяется в триггере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.11.2002, 22:24:12
|
|||
|---|---|---|---|
Правильный триггер |
|||
|
#18+
Была тема. @@identity в инсерте в триггере на инсерт меняется. SCOPE_IDENTITY( ) можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.11.2002, 23:25:57
|
|||
|---|---|---|---|
|
|||
Правильный триггер |
|||
|
#18+
@@IDENTITY возвращает последнее значение для идентити для таблицы для всех пользователей SCOPE_IDENITY() - возвращает значение последнее идентити в текущей сессии. Поэтому, ИМХО, триггрер должен выглядеть так Код: plaintext 1. 2. 3. И на будущее совет - в select, insert лучше явно перечислять поля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1818713]: |
0ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 273ms |

| 0 / 0 |
