27,579
社区成员
发帖
与我相关
我的任务
分享
create trigger tri_A
on A
after update
as
begin
update B set cname=A.name
from B
inner join inserted A on B.id=A.id
update C set cname=A.name
from C
inner join inserted A on C.id=A.id
end
--现在默认A表与B,C表是通过id关联的,如果是其他关键字关联,要自己修改关联
CREATE TRIGGER tr_a
ON a
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
UPDATE b SET cname=a1.cname_new
FROM
(
SELECT a.cname_new,b.cname_old
FROM INSERTED a
INNER JOIN DELETED b ON a.ID=b.ID
) a1
WHERE b.cname=a1.cname_old
UPDATE c SET cname=a1.cname_new
FROM
(
SELECT a.cname_new,b.cname_old
FROM INSERTED a
INNER JOIN DELETED b ON a.ID=b.ID
) a1
WHERE b.cname=a1.cname_old
END
GO
CREATE TRIGGER tr_test ON tableA
AFTER UPDATE
AS
begin
IF UPDATE(cname)
begin
UPDATE B
SET B.cname = I.cname
FROM tableB B
INNER JOIN DELETED D
ON B.cname = d.cname
INNER JOIN INSERTED I
ON D.rowid = I.rowid --这个rowid是你A表的主键字段
UPDATE c
SET c.cname = I.cname
FROM tableB c
INNER JOIN DELETED D
ON c.cname = d.cname
INNER JOIN INSERTED I
ON D.rowid = I.rowid --这个rowid是你A表的主键字段
end
end