利用Merge生成或更新新记录
- -- =============================================
- -- Author: <华仔>
- -- Create date: <2016,6,7>
- -- Description: <鱼种统计>
- -- Update_QT_FishTypeCount 0,0,0,0 -- 测试可否正常运行
- -- 维护日志:
- --
- -- =============================================
- ALTER PROCEDURE [dbo].[Update_QT_FishTypeCount]
- @RoomLevel INT,
- @FishType INT,
- @AppearNumber INT,
- @CatchNumber INT
- AS
- BEGIN
- SET NOCOUNT ON;
- BEGIN TRY--错误捕获
- BEGIN TRAN; -- 开始事务
- WITH N AS(
- SELECT @RoomLevel AS RoomLevel
- ,CONVERT(CHAR(10),GETDATE(),23) AS CountDate
- ,@FishType AS FishType
- ,@AppearNumber AS AppearNumber
- ,@CatchNumber AS CatchNumber
- )
- MERGE QT_FishTypeCount AS FTC
- USING N ON N.CountDate = FTC.CountDate AND N.RoomLevel = FTC.RoomLevel AND N.FishType = FTC.FishType
- WHEN NOT MATCHED
- THEN INSERT
- (
- [RoomLevel],
- [CountDate],
- [FishType],
- [AppearNumber],
- [CatchNumber]
- )
- VALUES
- (
- N.[RoomLevel],
- N.[CountDate],
- N.[FishType],
- N.[AppearNumber],
- N.[CatchNumber]
- )
- WHEN MATCHED
- THEN UPDATE SET [AppearNumber] = FTC.[AppearNumber] + @AppearNumber,[CatchNumber] = FTC.[CatchNumber] + @CatchNumber;
- COMMIT TRAN -- 执行无错误,提交事务
- END TRY--错误捕获
- BEGIN CATCH--错误捕获
- ROLLBACK TRAN -- 执行出错,回滚事务
- INSERT INTO [QPAccountsDB].[dbo].[QA_ErrorLog]
- ([ErrorNumber]
- ,[ErrorSeverity]
- ,[ErrorState]
- ,[ErrorProcedure]
- ,[ErrorLine]
- ,[ErrorMessage]
- ,[ErrorTime])
- SELECT ERROR_NUMBER()
- ,ERROR_SEVERITY()
- ,ERROR_STATE()
- ,'QPTreasureDB.dbo.Update_QT_FishTypeCount'
- ,ERROR_LINE()
- ,ERROR_MESSAGE()
- ,GETDATE()
- END CATCH--错误捕获
- END
利用Merge生成或更新新记录的更多相关文章
- .NET基础篇——利用泛型与反射更新实体(ADO.NET Entity Framework)(转)
自从ADO.NET Entity Framework面世以来,受到大家的热捧,它封装了大量代码生成的工具,用户只需要建立好实体之间的关系,系统就是会为用户自动成功了Add.Delete.CreateO ...
- Java进阶(五十二)利用LOG4J生成服务日志
Java进阶(五十二)利用LOG4J生成服务日志 前言 由于论文写作需求,需要进行流程挖掘.前提是需要有真实的事件日志数据.真实的事件日志数据可以用来发现.监控和提升业务流程. 为了获得真实的事件日志 ...
- 增加一条新记录,同时返回其自增id
方法一.是在Insert或Update触发器中用select来返回需要的字段值.默认情况下,当insert时,触发其insert触发器,它的默认返回值是影响到的行数,语句是:select @@rowc ...
- C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库
C# DateTime的11种构造函数 别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...
- 9.利用msfvenom生成木马
这篇文章来介绍一下msf中一个生成木马的msfvenom模块. msfvenom命令行选项如下: 英文原版: 中文版: Options: -p, --payload <payload> 指 ...
- Spring事务管理----声明式:利用TransactionProxyFactoryBean生成事务代理
通常建议采用声明式事务管理.声明式事务管理的优势非常明显:代码中无需关于关注事务逻辑,让spring声明式事务管理负责事务逻辑,声明式事务管理无需与具体的事务逻辑耦合,可以方便地在不同事务逻辑之间切换 ...
- Oracle 使用MERGE INTO 语句更新数据
/*Merge into 详细介绍MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句.通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配 ...
- 黄聪:利用OpenXml生成Word2007文档(转)
原文:http://blog.csdn.net/francislaw/article/details/7568317 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 一Op ...
- Swift轻松入门——基本语法介绍和详细地Demo讲解(利用WebView打开百度、新浪等网页)
转载请务必注明出处(all copyright reserved by iOSGeek) 本文主要分为两个部分,第一部分介绍Swift的基本语法,第二部分讲解一个利用WebView来打开百度.sina ...
随机推荐
- Visual Studio 2010打开水晶报表是出现二进制
水晶报表在64位的机器下未安装成功 解决方法 到http://www.cnblogs.com/siyunianhua/p/4806513.html下载 水晶报表VS2010版IDE安装标准版SAP ...
- Selenium 实现联想下拉框
直接在文本框输入字符,并不能实现联想下拉框, 第一种方式:强制执行js driver.FindElement(By.Id("top_search_input")).SendKeys ...
- mac 卸载 XCode
http://blog.csdn.net/songques/article/details/7244144
- shell常用命令总结
统计文件行数 wc -l filename grep -c "" filename sed -n '$=' filename awk 'END{print NR}' filenam ...
- Hadoop框架下MapReduce中的map个数如何控制
控制map个数的核心源码 long minSize = Math.max(getFormatMinSplitSize(), getMinSplitSize(job)); //getFormatMinS ...
- Storm系列(十七)DRPC介绍
Storm版本0.9.5 在storm中DRPC服务应用于远程分布式计算,根据客户端提交的请求参数,而返回Storm计算的结果. DRPC服务启动流程(远程模式) 启动DRPC服务,启动命令:stor ...
- HW2.25
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- hdu5601-N*M bulbs(黑白棋盘染色)
一个矩形,一个人从左上角走到右下角,每走过一个位置把0变成1,1变成0. 求有没有可能他离开之后所有的数都是0 假设这个矩形是一个棋盘,黑白相间. 这样会发现从一个颜色走到相同颜色可以对棋盘不产生任何 ...
- Ⅵ.spring的点点滴滴--自定义类型转换器
承接上文 自定义类型转换器 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class CustomeConverter : TypeConverter{ ...
- 查找无用代码Dead Code的一些心得
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:查找无用代码Dead Code的一些心得.