SQL中Merge的用法
2020-06-22 04:18
127 查看
根据与源表联接的结果,对目标表运行插入、更新或删除操作。 例如,根据与另一个表的区别,在一个表中插入、更新或删除行,从而同步两个表。
示例代码:
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);
案例一:
数据准备:
源表:MERGE_SOURCE:
要更新的目标表:MERGE_TARGET
代码实现:
merge into MERGE_TARGET TARGET--要更新的目标表 USING(SELECT B.ID,B.NAME,B.AGE FROM MERGE_SOURCE B) SOURCE--源表 ON(TARGET.ID=SOURCE.ID) WHEN MATCHED THEN UPDATE SET TARGET.NAME=SOURCE.NAME, TARGET.AGE=SOURCE.AGE WHEN NOT MATCHED THEN INSERT VALUES(SOURCE.ID,SOURCE.NAME,SOURCE.AGE);
运行成功之后TARGET表显示:
相关文章推荐
- SQL:merge 用法 【SQL Server 2008开始支持merge】
- SQL SERVER MERGE INTO 用法
- sql中merge的用法
- sql server merge 的用法
- Sql 中 Merge 的用法
- SQL中Merge的用法
- SQL Server merge用法
- SQLSERVER merge的简单用法
- sql merge的用法实例(学习日记)
- SQL:merge 用法
- SQL中Merge用法详解
- SQL中MERGE关于更新、插入的一种用法
- sql 语句NVL()用法
- SQL中CONVERT转化函数的用法
- dbms_sql包的用法
- SQL 数据库 学习 022 查询-05 top 的用法 --- 最前面的若干个记录
- SQL with as 的用法 以及递归函数的写法
- sql用法
- SQL isNull()在mysql,sqlserver,Oracle中的用法
- asp:SqlDataSource、asp:GridView用法