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