当我们要将表A中批量数据更新到B表的时候,如果B表中存在则更新,不存在则插入,需要用到 SQL 的 Merge info,语句以下:
MERGE
[ TOP ( expression ) [ PERCENT ] ]
[ INTO ] <操作表> --即将做插入、更新、删除的表
USING <源表或者数据集或者子查询> --用户提供匹配条件来源的集合或者表
ON <匹配条件> --可以是任意有效的条件组合
[ WHEN MATCHED [ AND <clause_search_condition> ]--匹配条件成立
THEN <SQL语句1> ]
[ WHEN NOT MATCHED [ BY TARGET ] [ AND <clause_search_condition> ]--匹配条件不成立
THEN <SQL语句2> ]
[ WHEN NOT MATCHED BY SOURCE [ AND <clause_search_condition> ]--目标变不存在而源表存在的数据
THEN <SQL语句3> ]
;