在sqlserver2008中,我写了这样的触发器,但我有点怀疑它是错误的,你能检查一次吗?
ALTER trigger [dbo].[UST_RollPlan_History_Trigger]
on [dbo].[Tbl_F_Roll_PlanDetails_T] for INSERT as
insert into Tbl_F_Roll_PlanDetails_H
(rollingplanid, productcode, rollplanmonthyear,
rollplanyear, candflocation, quantity, amendedqty,
createdby, createdon, sessionid, status)
select rollingplanid, productcode,rollplanmonthyear,
rollplanyear, candflocation,quantity,amendedqty,
createdby, createdon, sessionid, status
from Tbl_F_Roll_PlanDetails_T发布于 2011-10-13 18:48:06
在触发器中,您通常希望引用包含受操作影响的行的inserted (和/或deleted)伪表。我希望你能这么做:
ALTER trigger [dbo].[UST_RollPlan_History_Trigger]
on [dbo].[Tbl_F_Roll_PlanDetails_T] for INSERT as
insert into Tbl_F_Roll_PlanDetails_H
(rollingplanid, productcode, rollplanmonthyear,
rollplanyear, candflocation, quantity, amendedqty,
createdby, createdon, sessionid, status)
select rollingplanid, productcode,rollplanmonthyear,
rollplanyear, candflocation,quantity,amendedqty,
createdby, createdon, sessionid, status
from inserted它会将刚刚插入Tbl_F_Roll_PlanDetails_T的行插入到Tbl_F_Roll_PlanDetails_H表中。(顺便说一下,SQL中的前缀名称通常是没有意义的,因为可以出现在任何特定上下文中的对象类型要么是a]已经限制为单一类型的对象,要么是b]无论如何都不需要区分)
发布于 2011-10-13 19:47:10
请在下面的教程中查看触发器示例,SQL Server Triggers触发器功能强大,但开发人员在使用触发器时应非常小心。因为许多开发人员认为它只对每个受影响的行起作用一次,但触发器只起作用一次。
https://stackoverflow.com/questions/7752829
复制相似问题