Sqlserver 事务处理模板
USE StuDB
GO
/****** Object: StoredProcedure [dbo].[proc_live_send_answer_v4] Script Date: 06/20/2017 14:44:26 ******
/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: YJ
-- Create date: 2017-05-11
-- Description: 事务
-- =============================================
ALTER PROCEDURE [dbo].[proc_name]
@answer_id varchar(50),
@answer varchar(10),
@uid bigint,
@roomid int=0 out,
@count int=0 out
AS
begin
set nocount on;
if(charindex(':',@answer_id,1)=0)
return; set @answer=replace(@answer,',','|'); declare @Activity_No int;
declare @quest_order tinyint;
set @Activity_No = substring(@answer_id,1,charindex(':',@answer_id,1)-1);
set @quest_order=substring(@answer_id,charindex(':',@answer_id,1)+1,len(@answer_id)); --尽量缩短事务占用时间
begin try
begin tran insert......a
update......b
delete......c commit tran
select 1 as res,'' as remark end try
begin catch
if (@@trancount > 0)
rollback;
declare @ErrMESSAGE nvarchar(1024) = error_message(),
@ERRSEVERITY int = error_severity(),
@ERRSTATE int = error_state();
raiserror(@ErrMESSAGE,@ERRSEVERITY,@ERRSTATE);--抛出错误 select 0 as res,'提交失败' as remark
end catch end
事务注意事项:事务里不能包含事务,也就是说当存储过程调用存储过程的时候,外层存储过程有事务时,被调用的存储过程不能写事务,不然事务回滚不了。
Sqlserver 事务处理模板的更多相关文章
- {T4模板}C# Net MVC+SqlServer=T4模板生成实体类并操作数据(DbHelper+DBManage)
1.ConnectionString,数据库链接 Web.config <configuration> <connectionStrings> <!-- 数据库 SQL ...
- sqlserver sp模板
某公司内部的sp模板 create procedure [usp_my_procedure_name] as begin set nocount on; declare @trancount int; ...
- java连接SQLserver数据库模板代码
package cn.mldn.lxh.dbc; import java.sql.Connection; import java.sql.DriverManager; public class Dat ...
- SqlServer存储过程模板
create procedure [spname]([spvariable])asbegin begin transaction begin try --具体sql过程 commit; end t ...
- java 之DelayQueue,TaskDelayed,handlerFactory,dataChange消息配置.收发等.java spring事务处理TransactionTemplate
java 之DelayQueue,TaskDelayed,handlerFactory,dataChange消息配置.收发等.java spring事务处理TransactionTemplate等. ...
- SQLServer 学习相关资料整理【转】
存储过程: SQL Server 存储过程 博客园上的一篇文章,讲解的非常详细,有测试代码,很实用. sqlserver存储过程中执行动态sql语句 The Curse and Blessings ...
- OLTP和OLAP浅析
数据库设计的一个根基就是要弄清楚数据库的类型. 当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing在线事务处理,联机事务处理).联 ...
- Java工程师面试题
1. J2EE 是什么?它包括哪些技术?解答:从整体上讲,J2EE 是使用 Java 技术开发企业级应用的工业标准,它是 Java 技术不断适应和促进企业级应用过程中的产物.适用于企业级应用的 J2E ...
- SubSonic3.0使用存储过程查询时,不能使用output参数返回值的问题修改
有个群友问SubSonic3.0执行存储过程时能不能使用output参数返回值,说测试过后获取不到返回值,早上有些时间所以就尝试修改了一下 首先在数据库中创建一个存储过程 CREATE PROCEDU ...
随机推荐
- mysql为何不支持开窗函数?
引用 在开窗函数出现之前存在着非常多用 SQL 语句非常难解决的问题,非常多都要通过复杂的相关子查询或者存储过程来完毕.为了解决这些问题,在2003年ISO SQL标准增加了开窗函数,开窗函数的使用使 ...
- Netty中解码基于分隔符的协议和基于长度的协议
在使用Netty的过程中,你将会遇到需要解码器的基于分隔符和帧长度的协议.本节将解释Netty所提供的用于处理这些场景的实现. 基于分隔符的协议 基于分隔符的(delimited)消息协议使用定义的字 ...
- strace详解及实战
详细参数: -c 统计每一系统调用的所执行的时间,次数和出错的次数等. -d 输出strace关于标准错误的调试信息. -f 跟踪由fork调用所产生的子进程. -ff 如果提供-o filename ...
- 【手记】解决启动SQL Server Management Studio 17时报Cannot find one of more components...的问题
刚装好SSMS 17.1准备体验,弹出: 一番搜索,普遍办法都是安装VS2015独立shell.删除某个注册表项什么的,没用,首先这个shell我是装了的,然后也没有那个注册表项.我自己尝试过重装sh ...
- ASP.NET Core & Docker 实战经验分享
一.前言 最近一直在研究和实践ASP.NET Core.Docker.持续集成.在ASP.NET Core 和 Dcoker结合下遇到了一些坑,在此记录和分享,希望对大家有一些帮助. 二.中间镜像 我 ...
- Sublime Text 3安装SFTP插件
前言: 最近在学习网页设计,陆续接触到了HTML.CSS和JavaScript,写的代码越来越多了,也越来越感觉到将代码上传到服务器上的流程太繁琐了.一开始我是用虚拟主机提供的控制面板下载上传网页代码 ...
- Rest接口和Thymeleaf的两个坑
spring boot thymeleaf 热部署 在使用spring boot 开发的时候,使用了Thymeleaf 作为前端的模板开发,发现在调试过程中,改动了Thymeleaf模板后,需要重新启 ...
- javascript系列1--把字符串当代码来执行
转发请标明来源:http://www.cnblogs.com/johnhou/p/javascript.html 请尊重笔者的劳动成果 --John Hou 在javascript中有多种方法可以 ...
- SimpleXML系列函数操作XML
创建SimpleXML对象 种方法来创建对象,分别是: l Simplexml_load_file()函数,将指定的文件解析到内存中. l Simplexml_load_string()函数,将创 ...
- 利用 Python + Selenium 实现对页面的指定元素截图(可截长图元素)
对WebElement截图 WebDriver.Chrome自带的方法只能对当前窗口截屏,且不能指定特定元素.若是需要截取特定元素或是窗口超过了一屏,就只能另辟蹊径了. WebDriver.Phant ...