往table1这个表里的字段c1,c2,c3,c4插值。trigger要把新插入的这些值放到另一个表table2的c1,c2,c3,c4字段里。
我现在就是不知道在trigger里怎么取到新插入的这些值?
我写的trigger如下,但是这个trigger只能插入固定的值
CREATE OR REPLACE TRIGGER TR_table1
AFTER INSERT ON table1
FOR EACH ROW
BEGIN
IF INSERTING THEN
INSERT INTO table2 values ('aaa','bbb','ccc','ddd');
END IF;
END;
------解决方案--------------------------------------------------------
delete 可取:old的值
insert 可取:new的值
update可取:old和:new的值
------解决方案--------------------------------------------------------
看你的trigger 应该用自治事务
pragma autonomous_transaction
------解决方案--------------------------------------------------------
CREATE OR REPLACE TRIGGER TR_FLOW
AFTER INSERT ON Table1
FOR EACH ROW
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;BEGIN
IF INSERTING THEN INSERT INTO table2 values (:new.c1,:new.c2,:new.c3,:new.c4,:new.c5,:new.c6,0,to_char(sysdate,'yyyy-mm'),'aaa','中文'); END IF;
COMMIT;
END; /