如何将值插入地图?
CREATE OR REPLACE PROCEDURE ZC_FILL_WNIOSKI IS
TYPE MAP_ARRAY IS TABLE OF NUMBER INDEX BY VARCHAR2(30);
WNIOSKI_MAP MAP_ARRAY;
BEGIN
INSERT INTO WNIOSKI_MAP
SELECT ID_WNIOSEK_ORG, ID_WNIOSEK FROM ZC_WNIOSKI;
...
当前版本给出了以下错误:
PL/SQL: ORA-00942 in line with INSERT.
答案 0 :(得分:5)
你没有像这样INSERT
进入PL / SQL集合。
您可以从表格中BULK COLLECT
进入您的收藏集,但之后您只能从表格中选择一列。假设你的意图是选择键和值,你可以做类似的事情(假设我已经猜到哪个列是字符键,哪个是数值)
FOR i IN (SELECT ID_WNIOSEK_ORG, ID_WNIOSEK FROM ZC_WNIOSKI)
LOOP
WNIOSKI_MAP( i.ID_WNIOSEK_ORG ) := ID_WNIOSEK;
END LOOP;