我正在尝试在Oracle 12c中创建此触发器,但是当我尝试编译时我得到了这个错误:pls-00382表达式是错误的类型游标
create or replace TRIGGER TRIGGER1
AFTER INSERT ON BUDGETITEMS
FOR EACH ROW
BEGIN
FOR I IN
(select PARENTITEM
from BUDGETITEMS
where PARENTITEM is not null
START WITH item IN (:new.ITEM)
connect by prior PARENTITEM = ITEM) loop
INSERT INTO ITEMPARENTITEM_NEW ( ITEM, PARENTITEM, YEAR) VALUES ( :new.ITEM,I, :new.YEAR);
END LOOP;
END;
感谢您的帮助
这是我的表格:
BUDGETITEMS
AMOUNT NUMBER(2,0) Yes
ITEMLEVEL NUMBER Yes
ITEMNAME VARCHAR2(80 BYTE) No
PARENTITEM NUMBER Yes
YEAR NUMBER(4,0) Yes
ITEM NUMBER No "BUDGET"."ISEQ$$_104999".nextval
AND
ITEMPARENTITEM_NEW
ITEM NUMBER No
PARENTITEM NUMBER No
YEAR NUMBER(4,0) Yes
答案 0 :(得分:0)
需要有这个字段:
I.PARENTITEM
您的插入内容应为:
INSERT INTO ITEMPARENTITEM_NEW ( ITEM, PARENTITEM, YEAR) VALUES ( :new.ITEM,I.PARENTITEM, :new.YEAR);
但我认为你引入了一个突变错误。