Задать вопрос
@ince

Почему не могу создать процедуру?

Создаю процедуру
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": недопустимый идентификатор


В чем проблема?
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы