我创建了触发器 TEST_TRIG 如下:
CREATE TRIGGER TEST_TRIG
AFTER INSERT ON TEST_TABLE
FOR EACH ROW
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
TEST_PROC();
END;
程序 TEST_PROC 代码:
create or replace
PROCEDURE TEST_PROC
AS
BEGIN
EXECUTE IMMEDIATE 'truncate table TEST_FINAL';
INSERT INTO TEST_FINAL select * from TEST_TABLE;
commit;
END;
最初,我禁用了 TRIGGER TEST_TRIG 并将一条记录插入 TEST_TABLE 并手动执行 PROCEDURE TEST_PROC。
输出:我能够从 TEST_FINAL 中获取插入到 TEST_TABLE 中的相同记录。
我从两个表中刷新了这些记录并启用了触发器 TEST_TRIG。
现在,当我在 TEST_TABLE 中插入并提交记录时,我没有在 TEST_FINAL 表中找到记录...我也没有收到任何错误消息!!!
所以我想知道触发器是否被触发?