【发布时间】:2019-12-26 10:02:38
【问题描述】:
我的包过程中有一个wwv_flow_global.vc_arr2 类型的变量l_rec,其中:
type vc_arr2 is table of varchar2(32767) index by binary_integer;
在 l_rec 中,我填充了许多记录。
在我的调试语句中,我可以使用以下查询访问记录:
FOR i IN 1..l_rec.COUNT
LOOP
insert into msg_log(msg)
values
('Record info: Index: ' || i || ' - Value: ' || l_rec(i));
END LOOP;
仅供参考,我实际上还有一个外部循环,它重复以下信息但使用不同的数据,即循环中的循环。
示例数据集如下所示:
Record info: Index: 1 - Value: AA
Record info: Index: 2 - Value: BB
Record info: Index: 3 - Value: CC
Record info: Index: 4 - Value: DD
Record info: Index: 5 - Value: EE
Record info: Index: 1 - Value: AAA
Record info: Index: 2 - Value: BBB
Record info: Index: 3 - Value: CCC
Record info: Index: 4 - Value: DDD
Record info: Index: 5 - Value: EEE
etc....
基于上述,我创建了一个名为message_log 的表,其中包含以下列:
SEQ_ID NUMBER,
C001 VARCHAR2(4000),
C002 VARCHAR2(4000),
C003 VARCHAR2(4000),
C004 VARCHAR2(4000),
C005 VARCHAR2(4000)
我的问题是,如何获取 wwv_flow_global.vc_arr2 类型的 l_rec 数组并将全部内容插入到我的 message_log Oracle 表中?
请注意这里的 SEQ_ID 将是我的外循环的计数器,所以我希望看到message log 表数据如下:
1,AA,BB,CC,DD,EE
2,AAA,BBB,CCC,DDD,EEE
【问题讨论】:
标签: oracle plsql collections oracle11g sql-insert