1

我是使用数据库触发器的新手,所以我想在这里指出正确的方向。我想创建一个触发器来执行新发票的“插入”或我的Invoice表的“BalanceDue”的“更新”以VendorID进入Invoices,抓取表Vendor中的行Vendors并将一些数据从该行移动到另一个表ShippingLabels。这就是我到目前为止所得到的,但我有点不知所措。

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

1 回答 1

1

你很接近。您只需要使用特殊的“插入”表在触发器该表可在触发器中访问(或与输出子句一起使用),并保存由针对相关永久表执行的最后一条语句插入的所有数据。如果您想删除触发器中的某些数据,还有一个相应的“已删除”表。

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
于 2013-05-14T18:41:09.083 回答