如何将值插入映射?
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;
...
Run Code Online (Sandbox Code Playgroud)
当前版本给出了以下错误:
PL/SQL: ORA-00942 in line with INSERT.
Run Code Online (Sandbox Code Playgroud)
你不要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;
Run Code Online (Sandbox Code Playgroud)