前提:MSSQL 版本是2008+
Merge
Into
被更新的表 p
--从数据源查找编码相同的产品
using 主表 s
on
p.关联字段=s.关联字段
--如果编码相同,则更新目标表的名称
When
Matched
Then
Update
set
P.某字段=s.某字段
--如果目标表中不存在,则从数据源插入目标表
When
Not
Matched
Then
Insert
(字段1,字段2,字段3...)
values
(字段1,字段2,字段3...);
附Oracle 9i以上Merge的语法
MERGE INTO [your table-name] [rename your table here]
USING ( [write your query here] )[rename your query-sql and using just like a table]
ON ([conditional expression here] AND [...]...)
WHEN MATHED THEN [here you can execute some update sql or something else ]
WHEN NOT MATHED THEN [execute something else here ! ]