SQL语句mergeinto的用法

更新时间:2023-07-09 06:48:12 阅读: 评论:0

奥斯卡经典电影歌曲SQL语句mergeinto的⽤法
应⽤场景
在批量更新⼤量的数据时,使⽤Inrt 和Update操作会出现效率低下,甚⾄卡死的情况。改⽤ MERGE INTO 代替执⾏批量更新,会提升执⾏效率。
merge into将源数据(来源于实际的表,视图,⼦查询)更新或插⼊到指定的表中(必须实际存在),好处是避免了多个inrt 和update操作。
merge into是⼀个⽬标性明确的操作符,不允许在⼀个merge 语句中对相同的⾏inrt或update操作。
这个语法仅需要⼀次全表扫描就完成了全部⼯作,执⾏效率要⾼于inrt+update,尤其是在⼤数据量⾯前,效率越明显。
语法
语法如下:
MERGE INTO table_name alias1
USING (table|view|sub_query) alias2
ON (join condition)
WHEN MATCHED THEN
UPDATE
SET col1 = col1_val1,
当我想起你英文版col2 = col2_val2
WHEN NOT MATCHED THEN
INSERT (column_list) VALUES (column_values);
其中,table_name 指的是更新的表,using()⾥边的指的是数据来源表/视图/⼦查询结果集,condition指的是连接条件。
如果满⾜连接条件,则更新字段;如果连接条件不满⾜,则停⽌更新进⾏插⼊。
举例
table_a : 计划⾦额表
table_b : 调整表
table_c : 调整⾦额表
想要根据调整id,将调整⾦额累加到计划⾦额表中。⼀次更新当年12个⽉。
cdbMERGE INTO table_a t1 USING (
SELECT
m.plan_id,
m.adjust_money + d.adjust_money adjust_money,
m.all_money + d.adjust_money all_money
美国队长 彩蛋FROM
table_a m
carboncopy
英语辅导报网站LEFT JOIN table_b a ON m.card_id = a.card_id
LEFT JOIN table_c d ON a.adjust_id = d.adjust_id
杰克逊经典歌曲下载currencyexchangeWHERE
a.adjust_id = 5
p_code = '100101'
ar = d.year
矢野浩二老婆>环球雅思培训学校
) t2 ON (t1.plan_id = t2.plan_id)
WHEN matched THEN
UPDATE
SET t1.adjust_money = t2.adjust_money,
t1.all_money = t2.all_money

本文发布于:2023-07-09 06:48:12,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/171744.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:效率   实际   视图   数据   调整   扫描   额表   环球
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图