Oracle Compound Trigger问题

时间:2016-02-10 20:00:28

标签: oracle oracle11g triggers

(使用Oracle 11G)

所以我有这个UPDATE触发器,它的工作是从我的ccv_p TABLE获取一行并在每个声明之前将其插入我的oldRecord RECORD(It&#39 ; sa复合触发器),之后,我想通过oldRecord在每行语句后得到该行的PRC_ID ...似乎没有工作,但它不会在我的测试表中插入任何内容。通过一些调试,我发现我的问题在于select语句,但我在Oracle中并没有太多经验......有什么想法吗?这是一些重要的代码片段:

oldRecord CCV_P%ROWTYPE;

select ccv_p.* into oldRecord from ccv_p inner join parcel on ccv_p.prc_id = parcel.prc_id where ccv_p.PRC_ID = :new.PRC_ID;

insert into TEST$_TABLE (TEST$_TABLE.num) VALUES (oldRecord.PRC_ID);

1 个答案:

答案 0 :(得分:0)

是否为CCV_P表定义了触发器? 在这种情况下,您不需要查询表格。你可能想做的是:

1)填充你的记录类型

my_rec.PRC_ID := :old.PRC_ID;

2)插入你的表格

insert into TEST$_TABLE (TEST$_TABLE.num) VALUES (:old.PRC_ID);

这当然不适用于插入