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
ID 列ではありません。