SELECT INTO с использованием Oracle

Я пытаюсь сделать SELECT INTO с помощью Oracle. Мой запрос:

SELECT * INTO new_table FROM old_table;

Но я получаю следующую ошибку:

SQL Error: ORA-00905: missing keyword
00905. 00000 -  "missing keyword"

Любые идеи, что неправильно?


Стандартное поведение выше должно быть таким, как я изначально думал: Однако Oracle внедрил это совершенно по-другому в своем собственном диалекте SQL Oracle Docs on Insert... Выбрать

Ответ 1

Если NEW_TABLE уже существует, то...

insert into new_table select * from old_table
/

Если вы хотите создать NEW_TABLE на основе записей в OLD_TABLE...

create table new_table as select * from old_table
/

Ответ 2

select into используется в pl/sql для установки переменной в значения полей. Вместо этого используйте

create table new_table as select * from old_table

Ответ 3

Использование:

create table new_table_name 
as
select column_name,[more columns] from Existed_table;

Пример:

create table dept
as
select empno, ename from emp;

Если таблица уже существует:

insert into new_tablename select columns_list from Existed_table;