Oracle を使用して SELECT INTO を実行しようとしています。私のクエリは次のとおりです。
SELECT * INTO new_table FROM old_table;
しかし、次のエラーが表示されます。
SQL Error: ORA-00905: missing keyword
00905. 00000 - "missing keyword"
何が問題なのですか?
上記の標準的な動作は、私が最初に考えたとおりである必要があります 。
NEW_TABLEがすでに存在する場合は、..。
insert into new_table
select * from old_table
/
OLD_TABLEのレコードに基づいてNEW_TABLEを作成する場合...
create table new_table as
select * from old_table
/
目的が新しいが空のテーブルを作成することである場合は、決して真になることのない条件でWHERE句を使用します。
create table new_table as
select * from old_table
where 1 = 2
/
CREATE TABLE ... AS SELECTは、ソーステーブルと同じプロジェクションを持つテーブルのみを作成することに注意してください。新しいテーブルには、元のテーブルにある可能性のある制約、トリガー、またはインデックスはありません。それらはまだ手動で追加する必要があります(必要な場合)。
select into
変数をフィールド値に設定するためにpl/sqlで使用されます。代わりに、
create table new_table as select * from old_table