Я новичок в oracle. У меня есть требование, когда мне нужно вставить значения какой-либо таблицы во временную таблицу. Например, в MSSQL я использовал запрос, как показано ниже.Эквивалентная инструкция SQL Server SELECT INTO в Oracle
Примечание: может быть намного сложнее выбрать результат запроса, вставленный в таблицу temp. то есть фактическое значение в приведенном ниже примере может быть любым сложным запросом. Здесь я только что упомянул простой пример.
SELECT columna, columnb... INTO temptable FROM actualtable where columna=? and columnb=? and ..;
После выполнения вышеизложенного выберите запрос, я также выполняю привязку данных, создавая инструкцию на Java.
В Oracle я не могу сделать, как указано выше, я должен использовать, как показано ниже
create table temptable as select columna, columnb... from actualtable where columna=? and columnb=? and ..;
После этого я не могу сделать привязки данных. Если да, я получаю исключение - ORA-01027: привязать переменные, которые не разрешены для операций определения данных. Как известно, я не могу выполнять привязку данных для создания таблицы, создавать вид и т. Д.
Что еще я могу сделать? Я не могу создать временную таблицу раньше. Потому что я не буду знать описания всех столбцов таблицы temp. Незлая помощь. Заранее спасибо!
Почему ты нужна временная таблица? –
Я согласен с Фрэнком: в Oracle вам обычно не нужны временные таблицы так, как вы это делаете в SQL Server (вы можете, например, использовать CTE) –
У меня уже есть логика создания временной таблицы в существующей структуре продукта. Меня попросили выполнить привязку данных. Для обоих оракулов и MSSQL. Для MSSQL я достиг, как упоминалось выше. Но, с оракулом, я застрял в точке, о которой я упоминал выше. – Anita