SQL查询:将数据从一个数据库移动到另一个数据库

时间:2018-04-03 06:00:29

标签: sql oracle sql-insert

我想将数据从database1中的表移动到Oracle SQL开发人员中database2中的表。

这是我写的查询: -

INSERT INTO <DESTINATION_DB>.<TABLE_NAME> (COLUMN1, COLUMN2) VALUES (
 SELECT COLUMN1, COLUMN2 FROM <SOURCE_DB>.<TABLE_NAME> WHERE <CONDITION>
);

当我尝试运行此查询时,我收到此错误: -

  

SQL错误:ORA-00936:缺少表达式   00936. 00000 - &#34;缺少表达&#34;

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

如果使用查询作为插入源,请不要使用values子句:

INSERT INTO target_schema.table_name (COLUMN1, COLUMN2) 
SELECT COLUMN1, COLUMN2 
FROM source_schema.table_name 
WHERE <CONDITION>;

请注意,表的前缀不是“数据库”,而是模式名称

答案 1 :(得分:0)

我可以从asktom.oracle.com中提到的一个对话中回忆起一种方法 创建数据库链接,然后执行

insert into local_table select * from table@database_link;