我试图在同一脚本中使用已创建的备份表重新填充表。
但是当我在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
也必须是动态的。