在 Oracle 中,我将数据从备份复制到新表,它不起作用。
什么是正确的语法?
谢谢
select CODE, MESSAGE into EXCEPTION_CODES (CODE, MESSAGE)
from Exception_code_tmp
错误是
**SQL Error: ORA-00905: missing keyword
00905. 00000 - "missing keyword"**
你需要一个INSERT ... SELECT
INSERT INTO exception_codes( code, message )
SELECT code, message
FROM exception_code_tmp
如果你想用数据创建表。首先创建表:
create table new_table as ( select * from old_table);
然后插入
insert into new_table ( select * from old_table);
如果要创建没有数据的表。您可以使用 :
create table new_table as ( select * from old_table where 1=0);
在单个命令中创建表并复制数据:
create table T_NEW as
select * from T;
* 这不会复制 PK、FK、触发器等。
insert into EXCEPTION_CODES (CODE, MESSAGE)
select CODE, MESSAGE from Exception_code_tmp
create table xyz_new as select * from xyz where 1=0;
http://www.codeassists.com/questions/oracle/copy-table-data-to-new-table-in-oracle