我正在尝试这样做:
arrCauses := APEX_UTIL.STRING_TO_TABLE(:P1_CAUSE); FOR c IN 1..arrCauses.count LOOP INSERT INTO DT_EVENT_CAUSE ( EVENT_ID, CAUSE_ID) VALUES ( nextPK, c); END LOOP;
或这个
arrCauses := APEX_UTIL.STRING_TO_TABLE(:P1_CAUSE); FOR c IN arrCauses.first..arrCauses.last LOOP INSERT INTO DT_EVENT_CAUSE ( EVENT_ID, CAUSE_ID) VALUES ( nextPK, c); END LOOP;
问题是… c始终只是计数,因此如果数组为1,则将插入ac为1。如果该数组包含3个项目,则将插入1、2和3的c。与数组中的实际值相反。我究竟做错了什么?!
使用索引来检索数组中的值:
VALUES ( nextPK, arrCauses(c));
代替
VALUES ( nextPK, c);
;)