使用“Northwind”示例:
我想在orderdetails表上创建一个insert触发器,以便每次插入orderdetails时,它都会获得在products表中定义的unitcost的当前值。
应该是这样的,但我很难把它弄对。你能帮忙吗?
创建触发器触发器1
按订单明细作为OD
用于插入
作为
--节约单位成本
od.unitcost=(从产品中选择unitcost作为p
其中p.productid=i.productid)
我正在使用SQL Server 2008。
谢谢!
最佳答案
您必须将inserted
表连接到orderdetails
表以了解插入的内容。就像这样:
CREATE TRIGGER Trigger1
ON OrderDetails as od
FOR INSERT
AS
BEGIN
update od
set unitcost = p.unitcost
from
orderdetails od
inner join inserted i on
od.orderlineid = i.orderlineid
inner join produts p on
p.productid = od.productid
END