Sql ORA-06550:ORA-00942:表或视图不存在错误,当在创建它的同一脚本上引用表时
我正在尝试使用同一脚本中创建的备份表重新填充表。Sql ORA-06550:ORA-00942:表或视图不存在错误,当在创建它的同一脚本上引用表时,sql,oracle,plsql,toad,Sql,Oracle,Plsql,Toad,我正在尝试使用同一脚本中创建的备份表重新填充表。 但当我在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
但当我在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;
当然,这行不通。表在编译时不存在<代码>插入也必须是动态的。最近几天在这个问题上似乎很忙:我很肯定我在其他论坛上也看到过。