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
NEW_TABLEがすでに存在する場合...
insert into new_table select * from old_table
/
OLD_TABLEのレコードに基づいてNEW_TABLEを作成する場合...
create table new_table as select * from old_table
/
select into
は、変数をフィールド値に設定するためにpl/sqlで使用されます。代わりに、
create table new_table as select * from old_table
つかいます:
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;