在Oracle中,我将数据从备份复制到新表,但它不起作用。
正确的语法是什么?
由于
select CODE, MESSAGE into EXCEPTION_CODES (CODE, MESSAGE)
from Exception_code_tmp
错误是
**SQL Error: ORA-00905: missing keyword
00905. 00000 - "missing keyword"**
答案 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)
从xyz中的select *创建表xyz_new,其中1 = 0;
http://www.codeassists.com/questions/oracle/copy-table-data-to-new-table-in-oracle