• sqlserver 2008 merger语句


    Merge关键字是一个神奇的DML关键字。它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句。MSDN对于Merge的解释非常的短小精悍:”根据与源表联接的结果,对目标表执行插入、更新或删除操作。

    MERGE 目标表 

    USING 源表 

    ON 匹配条件 

    WHEN MATCHED THEN 

    语句 

    WHEN NOT MATCHED THEN 

    语句;

    其中最后语句分号不可以省略,且源表既可以是一个表也可以是一个子查询语句

    WHEN NOT MATCHED BY TARGET

    表示目标表不匹配,BY TARGET是默认的,所以上面我们直接使用WHEN NOT MATCHED THEN

    WHEN NOT MATCHED BY SOURCE

    表示源表不匹配,即目标表中存在,源表中不存在的情况。

                 示      例:                

    merge into device d
    using deviceTmp t on d.id=t.id
    when matched and d.isDeleted=0
    then update set d.deviceName=t.deviceName,d.updateTime=getDate()
    when not matched
    then insert (id,isdeleted,updateTime,account,catagoryId,cid,devid,deviceName)
    values(t.id,0,getDate(),t.account,t.catagoryId,t.cid,t.devid,t.deviceName);

  • 相关阅读:
    DOM对象
    多态
    封装和继承
    析构函数
    构造函数
    二维数组
    javascript的基本语法
    javascript数组
    js
    BOM和DOM的区别
  • 原文地址:https://www.cnblogs.com/lj821022/p/7966574.html
Copyright © 2020-2023  润新知