嗨,我使用SQL SERVER 2012,我有两个名为tbcustomer和tbcustomerdetail的表。这两个表都有column customerID。
我只管理tbcustomerdetail。如果我在客户ID ='001'处更新tbcustomerdetail,则需要触发器在客户ID ='001'处更新tbcustomer
我尝试了这个,但是没有找到拼写。
CREATE TRIGGER Deletecustomer
ON tbcustomerdetail
FOR UPDATE
AS
BEGIN
update tbcustomer tbcustomer.status=0 where tbcustomer.customerID=updated.customerID;
END
//updated.customerID is the ID on column tbcustomerdetail where customerID is '001'.
我也尝试过更新后,但是不起作用。
答案 0 :(得分:0)
Updated
不存在,在触发器中,您有两个视图Deleted
包含以前的数据,而Inserted
包含新的视图
正如我提到的,它们是视图,并且包含受该语句影响的所有行的数据,因此,您需要在联接中使用它们
CREATE TRIGGER Deletecustomer
ON tbcustomerdetail
FOR UPDATE
AS
BEGIN
UPDATE C
SET Status = 0
FROM tbCustomer C
JOIN Inserted I ON C.CustomerID = I.CustomerID
END