Oracle将数据复制到另一个表

时间:2012-07-13 14:27:53

标签: sql oracle

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

正确的语法是什么?

由于

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

错误是

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

5 个答案:

答案 0 :(得分:49)

您需要INSERT ... SELECT

INSERT INTO exception_codes( code, message )
  SELECT code, message
    FROM exception_code_tmp

答案 1 :(得分:31)

如果要创建包含数据的表。首先创建表:

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);

答案 2 :(得分:9)

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

create table T_NEW as
  select * from T;

*这将复制PK,FK,触发器等。

答案 3 :(得分:5)

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

答案 4 :(得分:0)