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
也必须是动态的。
我正在尝试在同一脚本中使用创建的备份 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
也必须是动态的。