Merge的山寨版“联机帮助”
IF NOT OBJECT_ID('Demo_AllProducts') IS NULL
DROP TABLE Demo_AllProducts
GO
CREATE TABLE Demo_AllProducts
(
PKID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
DName NVARCHAR(20) NULL,
DCode NVARCHAR(20) NULL,
DDate DATETIME NULL
)
GO
INSERT INTO Demo_AllProducts
(DName,DCode,DDate)
VALUES
('DemoA','AAA',GETDATE()),
('DemoB','BBB',GETDATE()),
('DemoC','CCC',GETDATE()),
('DemoD','DDD',GETDATE()),
('DemoE','EEE',GETDATE())
SELECT * FROM demo_allproducts
IF NOT OBJECT_ID('Demo_Shop1_product') IS NULL
DROP TABLE Demo_Shop1_product
CREATE TABLE Demo_Shop1_product
(
PKID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
DName NVARCHAR(20) NULL,
DCode NVARCHAR(20) NULL,
DDate DATETIME NULL
)
GO
INSERT INTO Demo_Shop1_product
VALUES
('DemoA','AAA',GETDATE()),
('DemoB','CCC',GETDATE()),
('DemoF','FFF',GETDATE())
SELECT * FROM Demo_Shop1_product dsp
--确定目标表
MERGE INTO Demo_AllProducts p
--查找编码相同的产品
USING Demo_Shop1_product s ON p.DCode=s.DCode
--如果编码相同,名称不同,更新目标表【Demo_AllProducts】名称
WHEN matched AND p.DName<>s.DName THEN UPDATE SET p.DName =s.DName
--如果目标表不存在则插入
WHEN NOT matched BY TARGET THEN INSERT(dname,dcode,ddate) VALUES(s.DName,s.DCode,s.DDate)
--如果目标表数据,子表不存在,删除目标表记录
WHEN NOT matched BY source THEN DELETE ;
土豆的 merge 帮助文档,比联机帮助牛b,哈哈
Merge的山寨版“联机帮助”的更多相关文章
- OUTPUT、Merge语句的使用
新版本的数据库中增加了OUTPUT子句,这个很好用,详细的使用方式大家可以参考SQL的联机帮助文档.这里仅记录下常用的场景:在对数据库进行增删改的时候我们有时候需要记录日志(这里指将日志记录在DB中而 ...
- Git 联机版
简介: 之前研究了 Git 单机版 ( 单兵作战 ),今天来研究一下 Git 联机版 ( 团队协作 )! GitHub 是一个开源的代码托管平台,可以分享自己的代码到该平台上,让大家参与开发或供大家使 ...
- [算法]——归并排序(Merge Sort)
归并排序(Merge Sort)与快速排序思想类似:将待排序数据分成两部分,继续将两个子部分进行递归的归并排序:然后将已经有序的两个子部分进行合并,最终完成排序.其时间复杂度与快速排序均为O(nlog ...
- SQL 提示介绍 hash/merge/concat union
查询提示一直是个很有争议的东西,因为他影响了sql server 自己选择执行计划.很多人在问是否应该使用查询提示的时候一般会被告知慎用或不要使用...但是个人认为善用提示在不修改语句的条件下,是常用 ...
- Merge Sorted Array
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...
- SQL Tuning 基础概述06 - 表的关联方式:Nested Loops Join,Merge Sort Join & Hash Join
nested loops join(嵌套循环) 驱动表返回几条结果集,被驱动表访问多少次,有驱动顺序,无须排序,无任何限制. 驱动表限制条件有索引,被驱动表连接条件有索引. hints:use_n ...
- Git 少用 Pull 多用 Fetch 和 Merge
本文有点长而且有点乱,但就像Mark Twain Blaise Pascal的笑话里说的那样:我没有时间让它更短些.在Git的邮件列表里有很多关于本文的讨论,我会尽量把其中相关的观点列在下面. 我最常 ...
- Merge 的小技巧
今天跟大家分享一下搬动数据使用Merge的方法. 有些时候,当我们做数据搬动的时候,有时候做测试啊,换对象啊,就会存在有时候外键存在,不知道怎么对应的关系.比如我现在有架构相同的两组table , A ...
- [LeetCode] Merge Sorted Array 混合插入有序数组
Given two sorted integer arrays A and B, merge B into A as one sorted array. Note:You may assume tha ...
随机推荐
- 【HDU3853】LOOPS [期望DP]
LOOPS Time Limit: 5 Sec Memory Limit: 64 MB[Submit][Status][Discuss] Description Akemi Homura is a ...
- bzoj 1880 最短路
我们首先知道,答案肯定是最短路图中的某段公共链,那么设(x,y)为x到y的最短路,那么答案为((s1,t1)+(s2,t2)-min((s1,s2)+(t1,t2),(s1,t2),(s2,t1))) ...
- python3 uper(),继承实现原理,封装
抽象类:本身不能被实例化,也不应该不实例化,它的作用就定义标准,并不用具体实现 import abc class Parent(metaclass=abc.ABCMeta): x=1 @abc.abs ...
- 在Xcode6中搭建Python开发环境
http://jingyan.baidu.com/article/f71d60379c73001ab741d14e.html 对于使用Mac电脑,刚入门Python的同学,一定很好奇是不是可以使用Xc ...
- POJ2245 Lotto
Lotto Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6634 Accepted: 4201 Description ...
- 关于might_sleep的一点说明---CONFIG_DEBUG_ATOMIC_SLEEP【转】
转自:http://blog.chinaunix.net/uid-23769728-id-3157536.html 这个函数我在看代码时基本上是直接忽略的(因为我知道它实际上不干什么事),不过因为内核 ...
- UVA 10385 Duathlon
Problem HDuathlonInput: standard inputOutput: standard outputTime Limit: 15 seconds A duathlon is a ...
- Oracle基础 05 联机日志 redolog
--两个相关视图v$logv$logfile alter system switch logfile; --强制日志切换alter system checkpoint; --强制检查点 - ...
- 如何生成pyc/pyo/pyd文件
# 一.如何生成pyc/pyo文件 # 1.通过编写代码生成 import py_compile # 参数如下 ''' def compile(file, cfile=None, dfile=None ...
- DELPHI用const来提高应用程序在多核多线程下的性能
来自:http://bbs.csdn.net/topics/330048800 --------------------------------------------------------- 我们 ...