Sql 如何在oracle中向映射中插入值?
如何在地图中插入值Sql 如何在oracle中向映射中插入值?,sql,oracle,map,Sql,Oracle,Map,如何在地图中插入值 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; ... 当前版本显示以下错误:
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.
您不会像这样将
插入到PL/SQL集合中
您可以将表中的批量收集到集合中,但只能从表中选择一列。假设您的目的是选择键和值,您可以执行以下操作(假设我猜到了哪列是字符键,哪列是数值)
您不会像这样将插入到PL/SQL集合中
您可以将表中的批量收集到集合中,但只能从表中选择一列。假设您的目的是选择键和值,您可以执行以下操作(假设我猜到了哪列是字符键,哪列是数值)
INSERT
语法看起来不错。虽然BEGIN
语句看起来多余(=错误),但是INSERT
语法看起来很好。尽管BEGIN
语句看起来多余(=错误)。它正是我想要的:)。它正是我想要的:)。
FOR i IN (SELECT ID_WNIOSEK_ORG, ID_WNIOSEK FROM ZC_WNIOSKI)
LOOP
WNIOSKI_MAP( i.ID_WNIOSEK_ORG ) := ID_WNIOSEK;
END LOOP;