--触发器在A表?你打算什么时候触发? --假设:A表,UPDATE,INSERT时触发 CREATE TRIGGER tr_test ON tableA AFTER UPDATE, INSERT AS BEGIN UPDATE B SET B.Y = I.X FROM INSERTED I INNER JOIN dbo.tableB B ON I.FItemID = B.FItemID WHERE B.Y <> I.X END
在B表选中FItemID时触发,应该是在b表触发
--你是指前台界面上的触发吧?那就不必用触发器了。 select b.*, Y=COALESCE(A.X,B.Y) --如果A.X有值就取A.X,否则取B.Y from tableB b left join tableA a on b.FitemId=a.FitemId
--假设:A表,UPDATE,INSERT时触发
CREATE TRIGGER tr_test ON tableA
AFTER UPDATE, INSERT
AS
BEGIN
UPDATE B
SET B.Y = I.X
FROM INSERTED I
INNER JOIN dbo.tableB B
ON I.FItemID = B.FItemID
WHERE B.Y <> I.X
END
select
b.*,
Y=COALESCE(A.X,B.Y) --如果A.X有值就取A.X,否则取B.Y
from tableB b
left join tableA a
on b.FitemId=a.FitemId