版权声明:本文为CSDN博主「暮雪寒寒」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_27628011/article/details/89319710

MERGE tABatch AS t  -- 需要操作的主体表
USING(
SELECT batchNo,COUNT(0) AS waitTotal
FROM (
SELECT batchNo FROM OPENJSON(@checkJson)
WITH(batchNo VARCHAR(50) '$.batchNo')
) t GROUP BY t.batchNo
) AS s (batchNo,waitTotal) -- USING里面是数据源,as以后,必须按照顺序指定字段名
ON t.batchNo = s.batchNo -- 这里是对比的条件
WHEN MATCHED THEN
-- 如果有匹配就更新,只用写要更新的内容即可
UPDATE SET t.waitTotal = t.waitTotal+s.waitTotal
WHEN NOT MATCHED THEN
-- 没有匹配就新增,注意这里的INSERT不能再跟表名了
INSERT
(
batchNo,
waitTotal,
createTime
)VALUES(
s.batchNo,
s.waitTotal,
getdate()
); --这里可以带Output 输出需要的信息 包括 deleted inserted ,Action 详细可以看一下官方文档
-- merge必须分号结尾,不然报错

Sqlserver MERGE 的基础用法的更多相关文章

  1. oracle入坑日记<六>自增列创建和清除(含序列和触发器的基础用法)

    0   前言 用过 SQLserver 和 MySQL 的自增列(auto_increment),然而 Oracle 在建表设置列时却没有自增列. 查阅资料后发现 Oracle 的自增列需要手动编写. ...

  2. PropertyGrid控件由浅入深(二):基础用法

    目录 PropertyGrid控件由浅入深(一):文章大纲 PropertyGrid控件由浅入深(二):基础用法 控件的外观构成 控件的外观构成如下图所示: PropertyGrid控件包含以下几个要 ...

  3. logstash安装与基础用法

    若是搭建elk,建议先安装好elasticsearch 来自官网,版本为2.3 wget -c https://download.elastic.co/logstash/logstash/packag ...

  4. elasticsearch安装与基础用法

    来自官网,版本为2.3 注意elasticsearch依赖jdk,2.3依赖jdk7 下载rpm包并安装 wget -c https://download.elastic.co/elasticsear ...

  5. BigDecimal最基础用法

    BigDecimal最基础用法 用字符串生成的BigDecimal是不会丢精度的. 简单除法. public class DemoBigDecimal { public static void mai ...

  6. MySql与SqlServer的一些常用用法的差别

    MySql与SqlServer的一些常用用法的差别 本文为转载 本文将主要列出MySql与SqlServer不同的地方,且以常用的存储过程的相关内容为主. 1. 标识符限定符 SqlServer [] ...

  7. Merge INTO的用法参考

    Merge是一个非常有用的功能,类似于MySQL里的insert into on duplicate key. Oracle在9i引入了merge命令, 通过这个merge你能够在一个SQL语句中对一 ...

  8. Vue组件基础用法

    前面的话 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.根据项目需求,抽象出一些组件,每个组件里包含了展现.功能和样式.每个页面,根据自己所需, ...

  9. Smarty基础用法

    一.Smarty基础用法: 1.基础用法如下 include './smarty/Smarty.class.php';//引入smarty类 $smarty = new Smarty();//实例化s ...

随机推荐

  1. mybatis中的分页插件

    1.Mybatis的分页plugin实现原理 2.具体步骤 第一步.导入到pom.xml文件中依赖包 第二步.配置插件(必需) 在mybatisConfig.xml文件中配置以下代码 代码位置:在en ...

  2. python_机器学习_监督学习模型_决策树

    决策树模型练习:https://www.kaggle.com/c/GiveMeSomeCredit/overview 1. 监督学习--分类 机器学习肿分类和预测算法的评估: a. 准确率 b.速度 ...

  3. Mysql 数据库部署(解压免安装)

    下载压缩包,解压. 在根目录下添加my.ini, 复制一下内容,保存. [mysqld] skip-grant-tables #绑定IPv4和3306端口 bind-address = 0.0.0.0 ...

  4. JS高阶---继承模式(原型链继承)

    [前言] 之前已经介绍了对象创建的五种模式,下面看下继承模式 本节介绍下<原型链继承> [主体] 验证如下: 关键点: .

  5. 201871010125-王玉江《面向对象程序设计(java)》第十五周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址> ht ...

  6. 201871010136-赵艳强《面向对象程序设计(java)》第四周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>http ...

  7. 多线程(三)多线程同步_基本介绍及mutex互斥体

    同步进制的引入为了解决以下三个主要问题:1.控制多个线程之间对共享资源访问,保证共享资源的完整性例如:线程A对共享资源进行写入,线程B读取共享资源2.确保多个线程之间的动作以指定的次序发生例如:线程B ...

  8. zookeper分布式搭建1

    1.zookeper的下载与安装,见:https://www.cnblogs.com/wanerhu/p/11144815.html 2.准备三台centos,进入etc/hosts 3.编辑内容 映 ...

  9. 编译安装PHP以及需要的基本扩展库(php7.4)

    安装配置选项1: ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-curl --with-freety ...

  10. Nginx日志管理(四)

    Nginx日志对于统计.系统服务排错很有用.Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志).通过访问日志我们可以得到用户的IP地址.浏览器的信息,请求的处 ...