菜鸟求助触发器怎么写啊
现在有两个数据库A(SID=AAA)和B(SID=BBB)
A库里的表
Table1 ID NAME DQ
01 张三 湖北
02 李四 湖南
B库的表
Table2 nameid name
0001 张三
0002 李四
Table3 DQID DQMC
001 湖北
002 湖南
Table4 djid nameid dqid
00001 0001 001
现在都是往table4里面写数,而且都是ID 现在想写一个触发器就是当table4一有数据插入就往A库的TABLE1插入数据(table1存的都是直接的内容不是ID)
------解决方案--------------------CREATE OR REPLACE TRIGGER MY_TRIGGER
AFTER INSERT ON Table4
BEGIN
INSERT INTO Table1
SELECT c.djid, a.name,b.dqmc
FROM Table2 a ,Table3 b,table4 c
WHERE a.nameid=c.nameid AND b.dqid=c.dqid;
COMMIT;
END;
------解决方案--------------------
上面还不完全
CREATE OR REPLACE TRIGGER My_Trigger
AFTER INSERT ON Table4
BEGIN
INSERT INTO Table1
SELECT c.Djid, a.NAME, b.Dqmc
FROM Table2 a, Table3 b, Table4 c
WHERE a.Nameid = c.Nameid AND b.Dqid = c.Dqid AND
c.Dqid = :new.dqid;
COMMIT;
END;
------解决方案--------------------:new,:old是觸發器中兩張系統臨時表
:old你表中舊的數據,:new表中新增或更新的新值
還有觸發器中不要用commit