Создаю процедуру
CREATE OR REPLACE PROCEDURE UNPIVOT_TEMP_CRE AS
BEGIN
INSERT INTO test( DATETIME, QUARTER, "YEAR", ID_LOCATION, ID_TYPE, PRICE )
Select
p.DATETIME
, p.QUARTER
, p."YEAR"
, p.ID_LOCATION
, t."ID"
, p.PRICE
FROM
( SELECT DATETIME
, QUARTER
, "YEAR"
, ID_LOCATION
, "TYPE"
, PRICE
FROM TEMP
UNPIVOT (
PRICE FOR "TYPE" IN (OFFICES_BUSINESS_CENTER,
OFFICES_OTHER,
RETAIL_SHOPPING_CENTER,
RETAIL_STREET,
RETAIL_OTHER,
WAREHOUSE_COMPLEX,
WAREHOUSE_OTHER,
LAND_LIVING,
LAND_COMMERCIAL,
LAND_INDUSTRIAL)
)
) p
JOIN TYPES_RE t
ON LOWER(SUBSTR(p."TYPE", 1, INSTR(p."TYPE", '_')-1)) = LOWER(t.subtype1)
AND LOWER(SUBSTR(p."TYPE", INSTR(p."TYPE", '_')+1)) = LOWER(t.subtype2);
--
execute immediate 'DROP TABLE TEMP';
--NULL;
END UNPIVOT_TEMP_CRE;
Возникает ошибка на строке
INSERT INTO AVG_PRICE_HISTORY ( DATETIME, QUARTER, "YEAR", ID_LOCATION, ID_TYPE, PRICE )
и на строке
LAND_INDUSTRIAL)
Ошибки:
Error(3,5): PL/SQL: SQL Statement ignored
Error(30,15): PL/SQL: ORA-00904: "LAND_INDUSTRIAL": недопустимый идентификатор
В чем проблема?