web-dev-qa-db-ja.com

Oracleを使用したSELECT INTO

Oracleを使用してSELECT INTOを実行しようとしています。私のクエリは次のとおりです。

SELECT * INTO new_table FROM old_table;

しかし、次のエラーが表示されます。

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

何が間違っているのでしょうか?


上記の標準的な動作は、当初考えていたとおりです。ただし、Oracleは独自のSQLダイアレクトでまったく異なる方法で実装していました Oracle Docs on Insert ... Select

121
Robert Gould

NEW_TABLEがすでに存在する場合...

insert into new_table select * from old_table
/

OLD_TABLEのレコードに基づいてNEW_TABLEを作成する場合...

create table new_table as select * from old_table
/
254
APC

select intoは、変数をフィールド値に設定するためにpl/sqlで使用されます。代わりに、

create table new_table as select * from old_table
29
wallyk

つかいます:

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;
2
PRADEEP R