Transaction And Lock--存储过程中使用事务的模板

news/2025/2/25 18:58:01

某公司内部使用的模板

create procedure [usp_my_procedure_name]
as
begin
    set nocount on;
    declare @trancount int;
    set @trancount = @@trancount;
    begin try
        if @trancount = 0
            begin transaction
        else
            save transaction usp_my_procedure_name;

        -- Do the actual work here

lbexit:
        if @trancount = 0
            commit;
    end try
    begin catch
        declare @error int, @message varchar(4000), @xstate int;
        select @error = ERROR_NUMBER(), @message = ERROR_MESSAGE(), @xstate = XACT_STATE();
        if @xstate = -1
            rollback;
        if @xstate = 1 and @trancount = 0
            rollback
        if @xstate = 1 and @trancount > 0
            rollback transaction usp_my_procedure_name;

        raiserror ('usp_my_procedure_name: %d: %s', 16, 1, @error, @message) ;
    end catch
end
go

 


http://www.niftyadmin.cn/n/713077.html

相关文章

机器学习笔记09:支持向量机(二)-核函数(Kernels)

核函数是 SVM 的最重要的部分,我们可以通过设置不同的核函数来创造出非常复杂的、非线性的支持向量机。 1.核(Kernel) 首先来看看什么是核函数。如图所示,假设有一个样本 x有两个特征 x1,x2,我们可以根据与地标(landmarks) l(1),l(2),l(3)的…

extjs框架_百花齐放的前端框架

01百花齐放的前端框架2007 年的时候我刚毕业,当时最火的前端框架是 jQuery 和 Ext JS,那时候大家纠结的问题是:我到底是用 jQuery 呢还是用 Ext JS 呢?后来又出现了:Adobe Flex、Microsoft SilverLight、Dojo、Ember、…

ZZULIOJ-1081,n个数求和 (多实例测试)(Python)

题目描述: 求n个整数的和。 输入: 输入第一行是一个整数T,表示有T组测试实例; 每组输入包括两行: 第一行一个数n表示接下来会有n个整数; 第二行空格隔开的n个数。 输出: 对于每组输入&…

性能测试之Jmeter学习(九)

本节主要学习:定时器(部分内容引用http://www.cnblogs.com/yangxia-test) Meter也有像LR中的集合点,本节就来介绍下JMeter的集合点如何去实现。 JMeter里面的集合点通过添加定时器来完成。 集合点:简单来理解一下&…

如何用idapython脚本获取字符串窗口的数据并写入文件

问题:当ida的strings窗口中字符串数量过多时,想直接用右键菜单的copy功能把所有字符串拷贝到文本文件中时,ida会一直处于忙状态,无法正常工作。此时可用idapython脚本获取字符串窗口的数据并写入文件,脚本内容如下def …

python中if语句的实例_对python中if语句的真假判断实例详解

说明 在python中,if作为条件语句,当if后面的条件参数为真时,则执行后面的语句块,反之跳过,为了深入理解if语句,我们需要知道if语句的真假判断方式。 示例 在python交互器中,经过测试发现以下条件…

Python基础运算符、字符串

最近在自学python,看的是《Python基础教程》,准备把所学、所想以及所得都记录下来。因为有python2和python3两个版本,并且差别还是蛮大的,我安装的是python3,而《Python基础教程》这本书又是以python2为蓝本讲解的。学…

JQuery - GetTagValue

2019独角兽企业重金招聘Python工程师标准>>> <html> <head> <title>jQuery Get Tag Value</title><script type"text/javascript" src"jquery-1.9.1.js"></script></head><script type"text…