PLS-00103:在触发器中遇到符号“”

时间:2014-06-07 10:56:21

标签: oracle triggers

这是我的触发器,我不知道它有什么问题,因为它给了我那个错误

create or replace TRIGGER dk_enrolments_insert
AFTER INSERT ON dk_enrolments 
FOR EACH ROW
DECLARE
  CURSOR enrolment_cur(e_id dk_enrolments.enrol_id%TYPE) is
  select o.offer_id, a.assmnt_id
  from dk_assessments a, dk_offerings o
  where a.offer_id=o.offer_id 
  AND e_id=:NEW.enrol_id;
 enrolment_rec enrolment_cur%ROWTYPE;
 BEGIN
 OPEN enrolment_cur(:NEW.enrol_id);    
LOOP
    FETCH enrolment_cur INTO enrolment_rec;
    EXIT WHEN enrolment_cur%NOTFOUND;
    insert into dk_deliverables values(deliv_seq.nextval, enrolment_rec.assmnt_id,:NEW.enrol_id);
    END LOOP;
   CLOSE enrolment_cur;
   END;​

1 个答案:

答案 0 :(得分:0)

我的猜测是

CURSOR enrolment_cur(e_id dk_enrolments.enrol_id%TYPE) is

这部分:dk_enrolments.enrol_id%TYPE

可能无法解析解析器理解的内容 - dk_enrolments.enrol_id

这定义在哪里?如果您不拥有该对象或该对象没有公共同义词,那么您需要包含该架构。我猜它是一个从表中外部定义的列。