40

在 Oracle 中,我将数据从备份复制到新表,它不起作用。

什么是正确的语法?

谢谢

select CODE, MESSAGE into EXCEPTION_CODES (CODE, MESSAGE)
from Exception_code_tmp

错误是

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

5 回答 5

71

你需要一个INSERT ... SELECT

INSERT INTO exception_codes( code, message )
  SELECT code, message
    FROM exception_code_tmp
于 2012-07-13T14:29:03.293 回答
53

如果你想用数据创建表。首先创建表:

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);
于 2014-05-28T10:10:00.500 回答
10

在单个命令中创建表并复制数据:

create table T_NEW as
  select * from T;

* 这不会复制 PK、FK、触发器等。

于 2016-03-03T14:15:30.733 回答
6
insert into EXCEPTION_CODES (CODE, MESSAGE)
select CODE, MESSAGE from Exception_code_tmp
于 2012-07-13T14:29:16.490 回答
0
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

于 2018-10-07T14:38:11.817 回答