SQL事务用法begin tran,commit tran和rollback tran的用法
发布时间:2024-01-20 01:44:57
标签:begin,tran,commit,tran,rollback,tran
具体用法如下:
-- =============================================
-- Author: cynimoon
-- Create date: 2009-10-09
-- Description: 示例存储过程
-- =============================================
-- EXEC TEST_PROC '文综','包括历史,地理,政治','政治','文综的一门'
CREATE PROCEDURE [dbo].[TEST_PROC]
@A_Name NVARCHAR(20), -- A表姓名
@A_Remark NVARCHAR(4000), -- A表备注
@B_Name NVARCHAR(20), -- B表姓名
@B_Remark NVARCHAR(4000) -- B表备注
AS
BEGIN TRY
BEGIN TRAN
-- 在A表中插入数据
INSERT INTO [dbo].[A]
( [A_Name]
, [A_Remark] )
VALUES
( @A_Name
, @A_Remark )
-- 在B表中插入数据
INSERT INTO [dbo].[B]
( [A_ID]
, [B_Name]
, [B_Remark] )
VALUES
( @@IDENTITY -- 返回最后插入的标识值
, @B_Name
, @B_Remark )
COMMIT TRAN
END TRY
BEGIN CATCH
ROLLBACK TRAN
INSERT INTO [dbo].[ErrorLog]
( [EL_Procedure] -- 异常存储过程名称
, [EL_OperateTime] ) -- 报异常时间
VALUES
( 'TEST_PROC'
, CONVERT(DATETIME,GETDATE(),20) )
END CATCH
注:1. @@IDENTITY的作用是返回最后插入的标识值。
2. 我在rollback tran中加入一个专门记录异常的表,以便产于异常发生的时间和确定报异常的存储过程的名称。
原文链接:
begin tran 可以理解成新建一个还原点。
commit tran提交这个自begin tran开始的修改
rollback tran 表示还原到上个还原点。


猜你喜欢
- 本文实例讲述了python使用BeautifulSoup分析网页信息的方法。分享给大家供大家参考。具体如下:这段python代码查找网页上的
- Python 中的 timeit 模块可以用来测试一段代码的执行耗时,如一个变量赋值语句的执行时间,一个函数的运行时间等。timeit 模块
- import urllib.parse,os.path,time,sysfrom http.client import HTTPSConne
- 一、创建excel代码备注:封装好了(可直接调用)"""-*- coding:utf-8 -*-@Time :
- 目录 一个简单的实现使用BSF(宽度优先搜索)进行实现使用DFA(Deterministic Finite Automaton)进
- 在使用pytorch框架时,难免要自己定义网络。于是,super(XXXX, self).init(),就成了自定义网络结构时必不可少的第一
- 作为酷爱编程的老程序员,实在按耐不下这个冲动,Python真的是太火了,不断撩拨我的心。我是对Python存有戒备之心的,想当年我基于Dru
- 这里,我们将采用Tensor Flow内建函数实现简单的CNN,并用MNIST数据集进行测试第1步:加载相应的库并创建计算图会话import
- 抽象工厂模式Abstract Factory Pattern是什么抽象工厂模式是一种创建型模式,它提供了一种创建一系列相关或相互依赖对象的最
- 症状 在 Service Pack 4 (SP 4) 运行 Microsoft Windows Server 2003、 Microsoft
- 导语不少人在生活中都有抠人像图换背景的需求。那怎么抠图呢?相信不少人第一时间就想到了 PS 抠图 * ,为了学会 PS 抠图很多人还花费不少精
- order by 查询语句使用也是非常频繁,有时候数据量大了会发现排序查询很慢,本文就介绍一下 MySQL 是如何进行排序的,以及如何利用其
- 一、概述有时候会在一台主机上安装多个不同的Python版本,用以运行不同时期开发的项目, 而在这些不同的Python版本上有时又会加装不同的
- 背景为了更好的发展自身的测试技能,应对测试行业以及互联网行业的迭代变化。自学python以及自动化测试。虽然在2017年已经开始接触了sel
- MySql中longtext字段的返回最近开发中用到了longtext这种字段。在mysql中该字段的最大长度为4G如下图所示开发中遇到的一
- 随着计算机硬件的不断发展,多核CPU已经成为普及的硬件设备,利用多核CPU的优势可以有效的提高程序的执行效率。而多进程模式可以实现多核CPU
- 废话不多说,直接上代码<?php // 暂不支持断点续传 // $url = 'http://www.
- # -*- coding: utf-8 -*-import pymysqlimport xlrd# import codecs#连接数据库c
- MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种。这里介绍关于这两种引擎的一些基本概念(非深入介绍)。MyISAM是My
- INSERT、DELETE、UPDATE 三种SQL语句是数据库技术的三大基本语句. 在通常的web开发中对它的处理可以说是无处不在. 如果