SQL事务用法begin tran,commit tran和rollback tran的用法
SQL事务用法begin tran,commit tran和rollback tran的用法
Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran来使用事务。
begin tran表示开始事务,
commit tran表示提交事务,
rollback tran表示回滚事物
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 表示还原到上个还原点
相关文章
- 低级sql语法错误: BadSqlGrammarException
- MS SQL Server查询优化方法 查询速度慢的原因很多,常见如下几种
- SQL SERVER作业的Schedules浅析
- SQL Server Reporting Services:无法检索应用程序文件。部署中的文件已损坏
- Oracle 每五千条执行一次的sql语句
- 【学习总结】SQL的学习-2-sql操作
- SQL注入之WAF绕过技巧
- SQL SERVER服务器链接连接(即sql server的跨库连接)
- [翻译]:SQL死锁-锁与事务级别
- 80. 使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异
- Sql查询原理与Select执行顺序(详细)
- SQL SERVER服务器链接连接(即sql server的跨库连接)
- SQL Server Database 维护计划创建完整的备份策略
- atitit.软件与sql设计模式原理与本质 大总结attialx总结v6 qc26.docx
- java代码在开始事务后,先做了一个查询,再insert,此时会报: java.sql.SQLException: could not retrieve transation read-only status server
- 怎样能写出性能优良的SQL语句 从sql语句提高数据库的性能
- SQL练习:查询近30天活跃用户数
- 天天写SQL,这些神奇的特性你知道吗?
- Python VS SQL语法归纳总结,真的太全了
- MySQL 整体架构与 SQL 执行原理,数据库事务原理
- [0] 数据库监测SQL Server Profiler
- 009-Hadoop Hive sql语法详解4-DQL 操作:数据查询SQL-select、join、union、udtf
- sql 精读(三) 标准 SQL 中的编号函数示例
- sql 精读(一)标准 SQL 中的分析函数概念
- Oracle PL/SQL中的循环处理(sql for循环)
- SQL注入 Sqli-labs-Less-21(笔记)——还是回显注入 使用union select即可 但是要注意sql括号闭合 也可以报错注入
- sql查询第10条到第20条数据
- 利用SQL语句查询出指定表的所有扩展属性(列说明)