SQL事务用法begin tran,commit tran和rollback tran的用法

时间:2024-01-20 01:44:57 

具体用法如下:


-- =============================================
-- 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 表示还原到上个还原点。

标签:begin,tran,commit,tran,rollback,tran
0
投稿

猜你喜欢

  • 关于pip的安装,更新,卸载模块以及使用方法(详解)

    2022-03-15 07:21:36
  • Python中的函数参数(位置参数、默认参数、可变参数)

    2021-03-24 21:57:38
  • Python中搜索和替换文件中的文本的实现(四种)

    2022-04-23 01:03:39
  • MySQL分区表管理命令汇总

    2024-01-25 21:55:38
  • 使用python生成杨辉三角形的示例代码

    2023-04-03 18:42:31
  • Python3读写ini配置文件的示例

    2023-05-29 22:59:21
  • 对python 树状嵌套结构的实现思路详解

    2022-02-04 15:45:06
  • 网页的栅格设计思考

    2007-11-09 10:33:00
  • python 实现对文件夹中的图像连续重命名方法

    2022-11-04 02:04:08
  • 使用tf.keras.MaxPooling1D出现错误问题及解决

    2021-02-07 05:01:28
  • 微信小程序自定义底部导航带跳转功能

    2024-05-02 17:25:49
  • Python后台开发Django会话控制的实现

    2022-11-09 22:29:16
  • 用vue.js组件模拟v-model指令实例方法

    2022-04-16 10:12:23
  • node.js回调函数之阻塞调用与非阻塞调用

    2024-05-05 09:21:26
  • python网络编程学习笔记(二):socket建立网络客户端

    2023-08-18 13:57:44
  • Python获取当前函数名称方法实例分享

    2023-12-22 01:16:57
  • c#连接mysql数据库的方法

    2024-01-23 02:52:32
  • MySQL中查看数据库安装路径的方法

    2024-01-16 04:19:46
  • Python实现自动化处理Word文档的方法详解

    2022-05-24 00:33:59
  • Python学习笔记之函数的定义和作用域实例详解

    2021-09-09 11:05:30
  • asp之家 网络编程 m.aspxhome.com