我正在尝试这样做:
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项,则插入c为1。如果数组中有3个项目,则将插入c的1,2和3。与数组中的实际值相反。我做错了什么?!
答案 0 :(得分:10)
使用索引检索数组中的值:
VALUES (
nextPK, arrCauses(c));
而不是
VALUES (
nextPK, c);
)