问题
I\'m trying to do a SELECT INTO using Oracle. My query is:
SELECT * INTO new_table FROM old_table;
But I get the following error:
SQL Error: ORA-00905: missing keyword
00905. 00000 - \"missing keyword\"
Any ideas what\'s wrong?
The Standard behavior of the above should be as I originally thought: However Oracle implemented it totally differently in their own dialect of SQL Oracle Docs on Insert ... Select
回答1:
If NEW_TABLE already exists then ...
insert into new_table select * from old_table
/
If you want to create NEW_TABLE based on the records in OLD_TABLE ...
create table new_table as select * from old_table
/
回答2:
select into is used in pl/sql to set a variable to field values. Instead, use
create table new_table as select * from old_table
回答3:
Use:
create table new_table_name
as
select column_name,[more columns] from Existed_table;
Example:
create table dept
as
select empno, ename from emp;
If the table already exists:
insert into new_tablename select columns_list from Existed_table;
来源:https://stackoverflow.com/questions/2250196/select-into-using-oracle