【发布时间】:2016-12-06 18:10:52
【问题描述】:
我在 oracle 中创建了以下触发器-
create or replace TRIGGER TODAY_TD_INSERT AFTER INSERT ON table1
FOR EACH ROW
DECLARE
BEGIN
INSERT INTO table2 (col1
,col2
,col3
)
VALUES (:NEW.,col1
,:NEW.,col2
,:NEW.,col3
);
END;
因此,如果在表 1 中插入任何数据,则表 2 中也将插入相同的数据。所以我的问题是我需要在新 table2 中提交数据吗?到目前为止,我知道我们不能使用触发器的提交。
【问题讨论】:
-
确实如此。您不能在触发器内提交。如果你想提交,你可以使用
autonomous transaction,推荐not。 -
一个
autonomous transaction将适合记录尝试的insert,而与实际事务的成功无关。
标签: oracle