ORA-06550: ORA-00942: table 或视图不存在错误,当在创建它的同一脚本上引用 table 时

ORA-06550: ORA-00942: table or view does not exist error, when table is referenced on the same script that creates it

我正在尝试在同一脚本中使用创建的备份 table 重新填充 table。
但是它 returns 当我 运行 (F5) 它在蟾蜍上。

代码如下所示:

SET serveroutput ON

BEGIN

    EXECUTE IMMEDIATE 'CREATE TABLE SAMPLE_TABLE1_BACKUP AS SELECT * FROM SAMPLE_TABLE1';

    EXECUTE IMMEDIATE 'TRUNCATE TABLE SAMPLE_TABLE1';

    BEGIN 
    FOR rec IN (SELECT * FROM SAMPLE_TABLE1_BACKUP)
        LOOP
            INSERT INTO SAMPLE_TABLE1 (column1, column2, column3)
            VALUES (rec.column1, rec.column2, rec.column3);
        END LOOP rec;
    END;
                
    EXECUTE IMMEDIATE 'DROP TABLE SAMPLE_TABLE1_BACKUP';

END; 

当然不行。 Table 在编译时不存在。 INSERT 也必须是动态的。