使用数据库触发器移动记录

时间:2013-05-14 18:35:07

标签: sql-server-2008-r2

我是使用数据库触发器的新手,所以我想在这里指出正确的方向。我想触发执行新发票的“插入”或我Invoice表的“BalanceDue”的“更新”,以便VendorID中的Invoices,抓住{ {1}}表中的{1}}行,并将该行中的一些数据移动到Vendor的另一个表中。这是我到目前为止所得到的,但是我不知道从哪里开始。

Vendors

1 个答案:

答案 0 :(得分:1)

你非常接近。您只需在触发器中使用the special "inserted" table即可。此表可在触发器内(或与输出子句一起)访问,并保存由对相关永久表执行的最后一个语句插入的所有数据。如果要删除触发器中的某些数据,还会有相应的“已删除”表。

CREATE TRIGGER trSetShippingLabels
ON tblInvoices
AFTER Insert,Update
AS
INSERT INTO tblShippingLabels
SELECT VendorName, VendorAddress, VendorCity, VendorState, VendorZipCode
FROM Vendors
JOIN Inserted i on i.VendorID = Vendors.VendorID