TRY.CREATE TRIGGER T_TEST ON T_A FOR UPDATE AS BEGIN UPDATE T_B SET B_PATH = (SELECT A_PATH FROM UPDATED) END
create trigger t_update on T_A for update as begin update T_B set B_PATH=(select SELECT A_PATH FROM UPDATED ) where T_B.B_NAME=(select a_NAME from updated) end
CREATE TRIGGER T_TEST ON T_A FOR UPDATE AS BEGIN UPDATE T_B SET B_PATH = (SELECT A_PATH FROM inserted) END
CREATE TRIGGER T_TEST ON T_A FOR UPDATE AS BEGIN update b set b.b_path=a.a_path from t_b b(nolock),inserted a(nolock) where a.name=b.name END
CREATE TRIGGER T_TEST ON T_A FOR UPDATE AS if Update(A_PATH) BEGIN UPDATE T_B SET B_PATH = (SELECT A_PATH FROM T_A) END
create trigger t_update on T_A for update as begin if Update(A_PATH) update T_B set B_PATH=(select SELECT A_PATH FROM inserted) where T_B.B_NAME=(select a_NAME from inserted) end
create trigger t_update on T_A for update as begin if Update(A_PATH) update T_B set B_PATH=(select SELECT A_PATH FROM inserted) where T_B.B_NAME=(select a_NAME from inserted) end
CREATE TABLE T_A(A_NAME VARCHAR(20), A_PATH VARCHAR(20)) INSERT T_A SELECT 'NAME1','PATH1'CREATE TABLE T_B(B_NAME VARCHAR(20), B_PATH VARCHAR(20)) INSERT T_B SELECT 'NAME2','PATH2' GOCREATE TRIGGER T_TEST ON T_A FOR UPDATE AS if Update(A_PATH) BEGIN UPDATE T_B SET B_PATH = (SELECT A_PATH FROM T_A) END UPDATE T_A SET A_PATH = 'BBB'SELECT * FROM T_A SELECT * FROM T_BA_NAME A_PATH -------------------- -------------------- NAME1 BBB(所影响的行数为 1 行)B_NAME B_PATH -------------------- -------------------- NAME2 BBB(所影响的行数为 1 行)
ON T_A
FOR UPDATE
AS
BEGIN
UPDATE T_B SET B_PATH = (SELECT A_PATH FROM UPDATED)
END
on T_A
for update
as
begin
update T_B set B_PATH=(select SELECT A_PATH FROM UPDATED )
where T_B.B_NAME=(select a_NAME from updated)
end
ON T_A
FOR UPDATE
AS
BEGIN
UPDATE T_B SET B_PATH = (SELECT A_PATH FROM inserted)
END
ON T_A
FOR UPDATE
AS
BEGIN
update b set b.b_path=a.a_path from t_b b(nolock),inserted a(nolock) where a.name=b.name
END
ON T_A
FOR UPDATE
AS
if Update(A_PATH)
BEGIN
UPDATE T_B SET B_PATH = (SELECT A_PATH FROM T_A)
END
inserted --用于保存INSERT语句的数据,对于UPDATE保存修改后的数据,也就是楼主需要的
on T_A
for update
as
begin
if Update(A_PATH)
update T_B set B_PATH=(select SELECT A_PATH FROM inserted)
where T_B.B_NAME=(select a_NAME from inserted)
end
on T_A
for update
as
begin
if Update(A_PATH)
update T_B set B_PATH=(select SELECT A_PATH FROM inserted)
where T_B.B_NAME=(select a_NAME from inserted)
end
INSERT T_A
SELECT 'NAME1','PATH1'CREATE TABLE T_B(B_NAME VARCHAR(20), B_PATH VARCHAR(20))
INSERT T_B
SELECT 'NAME2','PATH2'
GOCREATE TRIGGER T_TEST
ON T_A
FOR UPDATE
AS
if Update(A_PATH)
BEGIN
UPDATE T_B SET B_PATH = (SELECT A_PATH FROM T_A)
END
UPDATE T_A SET A_PATH = 'BBB'SELECT * FROM T_A
SELECT * FROM T_BA_NAME A_PATH
-------------------- --------------------
NAME1 BBB(所影响的行数为 1 行)B_NAME B_PATH
-------------------- --------------------
NAME2 BBB(所影响的行数为 1 行)