Мой код работает с Oracle Database 10g Release 2 (10.2.0.1.0), создаёт таблицу и затем заполняет её данными. Выглядит это примерно так:
CREATE TABLE table1 AS SELECT * FROM table2 WHERE 1=0
INSERT INTO table1 SELECT * FROM table2 WHERE {условие с параметрами}
В 99% случаев этот подход работает корректно. Но иногда вторая команда падает с ошибкой о том, что table1 не существует, хотя она только что была создана. Почему это происходит?