问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Oracle中有2张相同字段与相同主键的表(2表设计完全相同...

发布网友 发布时间:2023-11-19 15:14

我来回答

6个回答

热心网友 时间:2024-08-08 09:02

Oracle 9i 开始支持 MERGE语句

-- 源表
CREATE TABLE test_from (id INT, val VARCHAR(20));

-- 目标表
CREATE TABLE test_to (id INT, val VARCHAR(20));

-- 插入源表
INSERT INTO test_from VALUES (1, 'A');
INSERT INTO test_from VALUES (2, 'B');

-- 合并 源表到目标表
MERGE INTO test_to
USING test_from
ON ( test_to.id = test_from.id ) -- 条件是 id 相同
WHEN MATCHED THEN UPDATE SET test_to.val = test_from.val -- 匹配的时候,更新
WHEN NOT MATCHED THEN INSERT VALUES(test_from.id, test_from.val) -- 源表有,目标表没有,插入

-- 第一次检查 目标表数据.
SQL> SELECT * FROM test_to;

ID VAL
---------- --------------------
1 A
2 B

-- 更新源表
UPDATE test_from SET val = 'A2' WHERE id = 1;
-- 删除源表
DELETE FROM test_from WHERE id = 2;
-- 插入源表
INSERT INTO test_from VALUES (3, 'C');

-- 合并 源表到目标表
MERGE INTO test_to
USING test_from
ON ( test_to.id = test_from.id ) -- 条件是 id 相同
WHEN MATCHED THEN UPDATE SET test_to.val = test_from.val -- 匹配的时候,更新
WHEN NOT MATCHED THEN INSERT VALUES(test_from.id, test_from.val) -- 源表有,目标表没有,插入

-- 再次检查 目标表数据.
SQL> SELECT * FROM test_to;

ID VAL
---------- --------------------
1 A2
2 B
3 C

热心网友 时间:2024-08-08 09:05

如果表1和表2的结构是完全一样的,可以这样做:
1)删除表1中数据
2)将表2中数据填入到表1中
insert into 表1
as select * from 表2;

热心网友 时间:2024-08-08 09:03

--使用merge语句
MERGE INTO 表2
USING 表1
ON (表1.id = 表2.id )
WHEN MATCHED THEN UPDATE SET 表1.name= 表2.name
WHEN NOT MATCHED THEN INSERT VALUES(表2.id,表2.name)

热心网友 时间:2024-08-08 09:02

insert into table2 select *from table1 where id not in (select id from table2);

热心网友 时间:2024-08-08 09:08

merge专门用于你这样的要求

热心网友 时间:2024-08-08 09:08

insert into 表2
select * from 表1
where not exists (select 1 from 表2 where 表2.主键 = 表1.主键)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 火锅餐厅厨房有哪些 小火锅厨房设备有哪些 oracle中有两张字段相同的表,表1、表2, 如何整合两张... wxid开头的怎么添加好友? 14螺丝孔径多大1 湖南营田(屈原)那里有什么好玩的地方吗? 威海哪里有佳能数码相机专卖店4 有一部电视剧是放弃工作,追求青春的.叫什么名字? 刚开始做pet聚酯薄膜,用途知道的不多,各位大神有知道这个膜... 聚酯是做什么用的?2 word怎么自动目录,正文也有目录? m14用多大的钻头54 M4的螺丝孔钻多大孔10 营种是什么?6 什么颜色代表梦想168 重庆笨豆芽炖油豆腐还加什么菜好吃 一个不知道是电影还是电视剧的,在游乐园的旋转杯里就回忆了过去... 有机肥销售需要提供第三方检测吗 电视机看着看着突然屏幕变黑了,但是还有声音是怎么回事?300 复读鸭的游戏电脑怎么下载? 复读鸭游戏如何下载 跪求校运会开幕式的口号。不要那俗的成语,最好是一些搞笑的口号,但不要... 复读鸭可以下载歌吗? 手机能下载复读功能吗? 如何强制二次修改? 花费的英语怎么说236 请问什么是选举单位? 有没有不需要财务审核单子的企业报销软件,求推荐,作为财务,不... 什么是初步代表候选人?什么是正式候选人?两者区别 九阴手游锦衣卫门派武学大全 聚酯薄膜1 聚酯薄膜中含锑是什么原因造成 韩非子 内储说上 1.翻译下面句子 凡人之有为也,非名之,则...18 家里有一箱蜜蜂,下午的时候总是在蜂巢外乱哄哄的一片,是分巢的原因么... 怎么在一年内修改两次 我的青春期,网盘,要免费的1 jansport和dickies的双肩包哪个更适合高中生背?...3 玩魔兽争霸是窗口化比较好还是全屏化比较好 请问如何在玩CS游戏中关闭正在收听的歌曲? 怎么查询自己的科目一考试时间269 科目一考试上午场是几点开始啊88 高血压换药后血压还偏高,怎么办?