我想将数据从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;
有人可以帮忙吗?
答案 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;