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



我试图在同一脚本中使用已创建的备份表重新填充表。
但是当我在Toad上运行(F5)它时,它返回一个错误(ORA-06550:第14行,第46列:ORA-00942:表或视图不存在)。

代码如下:

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; 

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

相关内容

  • 没有找到相关文章

最新更新