pradeep kumar Ответов: 1

Существует стол в порядок, а используемые в некоторых, но не при использовании в инструкции Insert


Когда таблица another_schema.Dw_table используется в процедуре хранения только для извлечения данных, которые там работают, но когда я использую оператор Insert, он выбрасывает таблицу PL/SQL: ORA-00942 или представление не существует.

Что я уже пробовал:

create or replace procedure tpk.sp_Test_proc
IS
   err_code      NUMBER;
   err_msg       VARCHAR (500);
   v_tbl_cnt     NUMBER;
   v_tbl_valid   NUMBER;
Begin
SELECT COUNT(*) INTO v_tbl_cnt  FROM USER_TABLES 
  WHERE TABLE_NAME IN (UPPER('Tbl1'),UPPER('tbl2'),UPPER('tbl3'));

IF(v_tbl_cnt =3) THEN

EXECUTE IMMEDIATE 'TRUNCATE TABLE Tbl1';
    EXECUTE IMMEDIATE 'TRUNCATE TABLE Tbl2'; 
    EXECUTE IMMEDIATE 'TRUNCATE TABLE Tbl3';

    EXECUTE IMMEDIATE 'DROP TABLE Tbl1';
    EXECUTE IMMEDIATE 'DROP TABLE Tbl2'; 
    EXECUTE IMMEDIATE 'DROP TABLE Tbl3';

EXECUTE IMMEDIATE
    'CREATE global temporary TABLE tbl1
    ( Id Integer... )'

Insert into tbl1
Select * from another_schema.Dw_table /* In this line it throws error Table does not exist */
end if;
end;

RossMW

Я не специалист по Oracle, но вам не нужно будет фиксировать создание таблицы, прежде чем вы сможете ее использовать...

CHill60

Я с RossMW - это tbl1, на который он жалуется

1 Ответов

Рейтинг:
1

Gerry Schmitz

Как насчёт:

ГДЕ ВЕРХНИЙ(TABLE_NAME) IN (ВЕРХНИЙ(…))