为什么我的Oracle CREATE触发器不按预期插入记录?

时间:2018-04-23 07:32:17

标签: oracle plsql plsqldeveloper

我查看了LIVE_MATCHES(home,away,comp_name)和table MATCHES(priority,sport,sub_list)

我需要创建一个触发器,在视图更新或插入后,从VIEW插入TABLE,并检查表Matches中的唯一列(sub_list)是否尚未插入。只需要从视图中插入comp_name,运动和优先级都是固定变量。

CREATE OR REPLACE TRIGGER LIVE_MATCHES_TO_MATCHES 
    instead of insert ON LIVE_MATCHES 
   for each row
          declare
   p_priority number:= 1;
   p_sport number:=0;
   begin
     insert into MATCHES (sub_list , priority , sport, created) 

     select :old.comp_name , p_priority, p_sport,sysdate
     from dual
      where not exists (      
     select 1 from MATCHES 
    where sub_list = :old.comp_name);

 end;

我编译此触发器时没有错误,但它不会将数据插入表MATCHES。

由于

0 个答案:

没有答案