Я использую простой триггер ins_process
для захвата вставок / обновлений в таблице process
.Эта ins_process
вставляет данные в таблицу process_audit
.
process
содержит следующие первоначально вставленные данные в указанном порядке:
id name description
--- ---- -----------
1 proc1 sql
2 proc2 scripting
3 proc3 java
Это создает данные в process_audit
следующим образом:
id name description insert_dt
--- ---- ----------- ---------
3 proc3 java [a minute ago]
2 proc2 scripting [a minute ago]
1 proc1 sql [a minute ago]
Почему записи вставляются в обратном порядке?Когда я редактирую строку из внешнего интерфейса, данные в process_audit
выглядят следующим образом:
id name description insert_dt
--- ---- ----------- ---------
3 proc3 java [a minute ago]
2 proc2 scripting [a minute ago]
1 proc1 sql [a minute ago]
2 proc2 scripting [now]
Это не такая большая проблема для меня.Мне интересно, если это стандартное поведение или что-то не так в том, как я создал триггер.
Вот как я создал триггер:
create trigger [dbo].[ins_process]
on [dbo].[process] for insert, update
as
set nocount on
begin
insert into process_audit
(id, name, description, insertdate)
select
id, name, description,current_timestamp
from inserted ins
end
Кроме того,id
столбец в таблице process_audit
не является столбцом идентификатора.