数据库的回滚

 1   begin try
 2   begin transaction --开始事务
 3   begin
 4     insert into Table_A (columnabc values (‘1‘,‘2‘)
 5   end
 6   commit transaction --提交事务
 7   end try
 8   begin catch --获取错误
 9     --select ERROR_NUMBER() as errornumber --错误原因
10     --SELECT ERROR_NUMBER() AS 错误号,
11     --ERROR_SEVERITY() AS 错误等级,
12     --ERROR_STATE() as 错误状态,
13     --DB_ID() as 数据库ID,
14     --DB_NAME() as 数据库名称,
15     --ERROR_MESSAGE() as 错误信息;
16     --rollback transaction
17   end catch
 1     --transaction demo
 2     create procedure  [dbo].[xxx] as
 3     begin transaction
 4     declare @error int
 5         select @error =0
 6         --insert into xxx...
 7         select @error = @error+@@ERROR
 8         --update xxx set xxx...
 9         select @error = @error+@@ERROR
10         --delete from xxx...
11         select @error = @error+@@ERROR
12     if @@ERROR=0
13     commit transaction
14     else
15     rollback transaction
时间: 2024-08-14 00:32:56

数据库的回滚的相关文章

laravel数据库事务回滚

背景:近期使用Laravel-5.4进行项目开发时涉及到关联模型的数据操作,想到用事务回滚.中间涉及到数据引用及异常的捕获. 数据库事务回滚有两种方式:自动回滚.手动回滚. 举例如下: 自动回滚     function(Request $request){           DB::transaction(function () use ($request) {          try {            $admin = Admin::create(['name' => $requ

记一次腾讯云MySQL数据库数据回滚

如题,因为操作人员的问题,需要对数据库数据进行回滚. 可以看到,设置了7天自动备份,且是物理冷备. 什么是物理冷备?科普一下: (1)热备:在数据库运行时,直接进行备份,对运行的数据库没有影响.(2)冷备:在数据库停止运行的时候进行备份,这种备份方式最为简单,只需要拷贝数据库物理文件即可.(3)温备:同样是在数据库运行的时候进行备份的,但对当前数据库的操作会产生影响. 热备份的缺点: 1.尽量不要出错,否则后果会很严重. 2.如果热备份不成功,所得结果不可用于时间点的数据恢复. 3.维护的工作比

MSSQL Tran 数据库事务回滚的用法

使用的表结构如下: USE [TestDB]GO/****** 对象:  Table [dbo].[Person]    脚本日期: 11/23/2008 13:37:48 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Person](    [PersonId] [nchar](18) NOT NULL,    [PersonName] [nchar](20) NOT NULL, CONSTRAI

MSSQL Server Transaction 数据库事务回滚的用法

使用的表结构如下: USE [TestDB]GO/****** 对象:  Table [dbo].[Person]    脚本日期: 11/23/2008 13:37:48 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Person](    [PersonId] [nchar](18) NOT NULL,    [PersonName] [nchar](20) NOT NULL, CONSTRAI

查询oracle 数据库中回滚段中一个时间点被修改的表数据并还原表中原来数据

利用下面的SQL就可以查处最近更改的数据. SQL> SELECT ID,NAME,VERSIONS_STARTTIME,VERSIONS_ENDTIME,VERSIONS_OPERATION FROM TEST VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE WHERE VERSIONS_STARTTIME IS NOT NULL ORDER BY VERSIONS_STARTTIME DESC; 通过以上小实验可以看出,VERSIONS_ST

undo回滚异常导致实例奔溃,无法正常open

接到地市反馈某一个数据库打不开了 1.登陆主机,查看数据库告警日志 最早数据库出现问题时的日志是在2014年6月7日 数据库在切换redo时异常关闭,之后数据库一直为开启使用 2.数据库在2014年6月8日 OPEN后,有recovery的进程报错 目前已经找不到这些文件,无法核实当时的异常信息源,接着往下看日志 3.数据库在2014年6月9日11:36:45时又异常关闭 4.同样的现象出现在2014年8月11日13:26:07,数据库异常关闭 5.数据库在2014年8月11日13:18:46再

Oracle Undo回滚段深入解析_超越OCP精通Oracle视频课程培训15

oracle视频教程目标 Oracle视频教程,风哥本套oracle教程培训学习oracle数据库UNDO的作用及相关数据字典,UNDO自动管理,DDL与DML操作与UNDO的关系,UNDO表空间满了怎么办?模拟ora-01555,UNDO表空间损坏怎么处理?Undo段头/回滚块/事务槽解析,UNDO回滚段头的深入分析,事务提交前后oracle内部操作?深入分析前镜像及一致性读. 适用人群 IT相关从业人员.Oracle数据库技术人员.想加工资的.想升职的都可以. 视频在线学习地址: http:

数据库事务处理机制之事务回滚问题讨论

一.Sql中的事务 概念:事物是一种机制,是一种操作序列,它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行.事务是一个不可分割的工作逻辑单元.在数据库系统上执行并发操作时事务是作为最小的控制单元来使用的.多用户登录系统适于使用事务机制. 属性:4大属性: a.原子性:事务时一个完整的操作.b.一致性:当事务完成时,数据库必须处于一致状态.c.隔离性:对数据进行修改的所有并发事务时彼此隔离的.d.持久性:事务完成后,它对于系统的影响是永久性的. 创建 (1)开始事务:begin t

mysql数据库回滚

在应用$mysqli时,因没常用到数据回滚,老忘,整理下,做个记录. $mysqli->autocommit(FALSE);//自动提交设置关闭 $mysqli->query("BEGIN"); //事务开始,接着下面的执行才可以我们自己控制 try{  $mysqli->query($sql);  $q1 = $mysqli->affected_rows;  if($q == 1){ //从返回的数据库影响行数做判断,是否返回正常   $mysqli->