SQL SAVE TRANSACTION

--创建存储过程
create procedure qiantaoProc
@asd nchar(10)
as
begin
begin try
begin transaction innerTrans
save transaction savepoint --创建事务保存点
insert into shiwu (asd) values (@asd);
commit transaction innerTrans
end try
begin catch
rollback transaction savepoint --回滚到保存点
commit transaction innerTrans
end catch
end
go
begin transaction outrans
exec qiantaoProc ‘asdasd‘;
rollback transaction outrans

事务嵌套,回滚外层事务时,如果嵌套内的事务已经回滚过则会有异常。此时需要使用事务保存点。

时间: 2024-10-06 11:29:29

SQL SAVE TRANSACTION的相关文章

SQL Server save transaction

准备: create table Nums(X int); 目的:只向表中插入一行. ------------------------------------------------------------------------------------------------------------------------------------- begin transaction tran_A -- 最好是为事务定义一个名字. insert into Nums(X) values(9);

事务操作(BEGIN/COMMIT/ROLLBACK/SAVE TRANSACTION)

BEGIN TRANSACTION 标记一个显式本地事务的起始点. BEGIN TRANSACTION 使 @@TRANCOUNT 按 1 递增. BEGIN TRANSACTION 代表一点,由连接引用的数据在该点逻辑和物理上都一致的. 如果遇上错误,在 BEGIN TRANSACTION 之后的所有数据改动都能进行回滚,以将数据返回到已知的一致状态. 每个事务继续执行直到它无误地完成并且用 COMMIT TRANSACTION 对数据库作永久的改动,或者遇上错误并且用 ROLLBACK TR

SQL Server Transaction Log Truncate && Shrink

目录 什么是事务日志 事务日志的组成 事务日志大小维护方法 Truncate Shrink 索引碎片 总结 什么是事务日志 Transaction log   是对数据库管理系统执行的一系列动作的记录,并利用这些记录来保证在遭遇硬件故障,灾难情况下ACID的可用性.从物理上来说,事务日志就是一个记录对数据库更新操作的文件. 事务日志的组成 SQL Server 数据库引擎在内部将每个物理文件分为多个虚拟日志文件.虚拟日志文件没有固定大小和固定数量,这两个值是由数据库引擎动态决定的. 事务日志是一

SQL SERVER TRANSACTION 事物

1.事务的概念 事物是一种机制,是一种操作序列,它包含了数据库一组操作命令,这组命令要么全部执行,要么都不执行.因此事物是一组不可分割的事物逻辑单元,在数据库进行并发操作时候,事物是作为最小的控制单元来使用的,这特别适用于多用户同时操作的数据通信系统.例如:订票.银行.保险公司以及证券交易系统等. 2.事物的4大属性 原子性:事物是一个完整的操作: 隔离性:对数据进行修改的所有并发事物都是彼此隔离的: 一致性:当事物完成时,事物必须处于一致的状态: 持久性:事物完成后,对于系统的影响是永久的:

Sql Server Transaction Isolation Level

并发事务引起的问题       问题                               描述                                     结果                                        解决                      丢失更新 A读—B读—A改—B改 A更改丢失 READ UNCOMMITTED 脏读 A改—B读—A回滚 B读无效值 READ COMMITTED 不可重读 A读—B改—A读 A读不一致 RE

sql事务(Transaction)用法介绍及回滚实例

事务是将一系列操作作为一个单元执行,要么成功,要么失败,回滚到最初状态.在事务处理术语中,事务要么提交,要么中止.若要提交事务,所有参与者都必须保证对数据的任何更改是永久的.不论系统崩溃或是发生其他无法预料的事件,更改都必须是持久的.只要有一个参与者无法做出此保证,整个事务就会失败.事务范围内的所有数据更改将回滚到特定设置点. Begin TRANSACTION 语句1; If @@error<>0 Goto error 语句2; If @@error<>0 Goto error

sql事务(Transaction)用法介绍及回滚实例_转

sql事务(Transaction)用法介绍及回滚实例 事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性 当对多个表进行更新的时候,某条执行失败.为了保持数据的完整性,需要使用事务回滚. 显示设置事务 代码如下 begin try   www.2cto.com begin transaction insert into shi

SQL TRANSACTION 事物

1 --SELECT @@error // 全局错误 默认是0 2 3 BEGIN TRANSACTION 4 TRUNCATE TABLE cfb 5 SAVE TRANSACTION a 6 DELETE from ksbmb 7 ROLLBACK TRANSACTION a 返回到a的位置 cfb 清空了 但ksmbm 没有执行

sql必知必会

注意: sql不区分大小写 一.检索SELECT 检索单列 select pro_id form products: 检索多列 select pro_id,pro_name,pro_price form products: 检索所有列 select * form products; 二.排序数据order by (必须放在where 后面) 按单列排序 select pro_name from products order by pro_name; 按多列排序 select pro_name,p