我正在使用一个简单的触发器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
不是标识列。