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

start [/forum/topic.php?fid=46&fpage=3375&tid=1818713]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 184ms |
| total: | 281ms |

| 0 / 0 |
