Переменная связывания plsql и динамический sql - PullRequest
0 голосов
/ 16 октября 2018

Я пытался зациклить имя таблицы из списка и вставить два поля во временную таблицу, я сделал несколько изменений без удачи, кажется, ближе, но так как я новичок в plsql, это, надеюсь, может исправить, что я незнаете, спасибо за помощь!

CREATE OR REPLACE PROCEDURE pots_upd (ic VARCHAR2) IS
      TYPE tbl_array_type IS TABLE OF VARCHAR2(80)
       INDEX BY binary_integer;
         dml_str VARCHAR2        (200);
          tbl_array    tbl_array_type;
BEGIN

    SELECT table_name BULK COLLECT INTO tbl_array
        FROM 
        (select table_name from  ALL_TABLES WHERE OWNER = 'POTS_LANDING' 
AND SUBSTR(TABLE_NAME, LENGTH(TRIM(TABLE_NAME))-3, 3) = '_LN');

    FOR i IN tbl_array.first..tbl_array.last LOOP
        dml_str := 'insert into temp(maxdate,ic)' || 'select update_dt, ic 
from ' ||tbl_array(i) ;

    EXECUTE IMMEDIATE dml_str USING ic;
    END LOOP;

END;
show errors;
...