SQL2008中的合并语句用法

介绍

本篇内容介绍了“SQL2008中的合并语句用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

SQL Server 2008开始支持合并语句,具体的使用方法如下:
,
,源表
CREATE TABLE test_from (INT id val VARCHAR (20));
,
——目标表
CREATE TABLE test_to (INT id val VARCHAR (20));
,
——插入源表
插入test_from值(1 & # 39;一个# 39;);
插入test_from值(2 & # 39;b # 39;);
,
——合并源表到目标表
合并test_to使用test_from (test_to
。id=test_from。id),,,——条件是id相同
当匹配更新设置test_to。val=test_from.val ,——匹配的时候,更新
当不匹配(test_from插入值。id, test_from.val)——源表有,目标表没有,插入
当不匹配源然后删除;——目标表有,源表没有,目标表该数据删除。
,
——第一次检查目标表数据。从test_to
SELECT *;
,
id ,,,,,,,,val
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
,,,,,,,,,1
,,,,,,,,,2 B
,
,
——更新源表
更新test_from设置val=& # 39; a2 # 39;id=1;
——删除源表
删除从test_from id=2;
——插入源表
插入test_from值(3 & # 39;c # 39;);
,
,
——合并源表到目标表
合并test_to使用test_from (test_to
。id=test_from。id),,,——条件是id相同
当匹配更新设置test_to。val=test_from.val ,——匹配的时候,更新
当不匹配(test_from插入值。id, test_from.val)——源表有,目标表没有,插入
当不匹配源然后删除;——目标表有,源表没有,目标表该数据删除。
,
——再次检查目标表数据。从test_to
SELECT *;
,
id ,,,,,,,,val
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
,,,,,,,,,1 A2
,,,,,,,,,3 C

SQL2008中的合并语句用法