首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MERGE INTO与定时器结合

MERGE INTO函数简单来说是UPDATE和INSERT函数的结合体,假设符合条件的源表为alias2,目标表为alias1,如果目标表中存在该行数据则更新相应字段(col1,col2),如果不存在则插入整行数据(column_list)

MERGE INTOtable_namealias1--目标表

USING(tableviewsub_query)alias2--源表

ON(join condition)--指定条件

WHEN MATCHED THEN--目标表中存在数据,则更新update

UPDATEtable_nameSETcol1 = col_val1, col2 = col_val2

WHEN NOT MATCHED THEN--目标表中不存在数据,则插入insert

INSERT(column_list)VALUES(column_values);

如果源表alias2中存在重复数据则需要用到ROW_NUMBER() OVER函数结合PARTITION BY 分组并用ORDER BY进行排序筛选,保证源表alias2中某列数据唯一性,否则通过指定条件查出多行数据后系统不知道更新哪行数据造成报错

MERGE INTO结合定时器还可实现同一个数据库或者不同数据库不同表之间数据定时同步更新:用存储过程封装MERGE INTO函数,再通过定时器调用存储过程执行即可

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180224G0ZUYP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券