`

同时提交同时回滚的问题

阅读更多

同时提交同时回滚的问题,原题是如果没有卡的信息或是卡里没有钱就不做插入操作;

create   procedure   myP  
  as  
   
  begin   tran  
  update   db1.dbo.tableA  
  set     qty   =qty-10  
  if   @eeror<>0  
   
  rollback  
   
  else  
  update   db2.dbo.tableB  
  set     qty=qty+10  
  end    
   
  if   @error<>0  
  rollback  
  else  
  commit   tran  
   
   
  ----exec   myP  

 

 

 

 

 

 

 

2:delcare   @er1   int,@er2   int  
  BEGIN   TRANSACTION  
  Update   table1......  
  select   @er1=@@error  
  Update   table2......  
  select   @er2=@@error  
  if   @er1=0   and   @er2=0  
            COMMIT   TRANSACTION  
  else  
        ROLLBACK   TRANSACTION

 

 

3:db1和db2在不同的机器上,db1和db2之间作个链接服务器就可以了。使用链接服务器的效果是不是等同于分布式事务呢?  
  按照各位高手的回复来看,与基于一台服务器的实现方式类似,利用了事务,  
  那么这个事务是分布式的吗?需要MTS的协助吗?

 

做服务器连接用sp_addlinkedserver  
  假设以下操作在DB2所在的服务器上进行  
  sp_addlinkedserver   'db1ServerName',N'SQL   Server'  
  go  
  create   procedure   YourProcedureName  
  as  
  declare   @DB1Err   int  
  begin   tran    
      insert   db1ServerName.DB1..表名   values   (....)  
      set   @DB1Err=@@error  
      insert   DB2..表名   values   (....)  
      if   @DB1Err<>0   or   @@error<>0  
          rollback   tran  
   
  commit   tran  
    go

0
1
分享到:
评论

相关推荐

    JAVA设置手动提交事务,回滚事务,提交事务的操作

    JAVA设置手动提交事务、回滚事务、提交事务的操作详解 本文主要介绍了JAVA设置手动提交事务、回滚事务、提交事务的操作,涉及到事务的自动提交、手动提交、回滚和提交等操作。以下是对这些操作的详细解释和示例代码...

    git 删除分支和回滚的实例详解

    git 删除分支和回滚的实例详解 【git 删除本地分支】 ...git reset --hard HEAD~3:将最近3次的提交回滚 【远程代码库回滚】: 这个是重点要说的内容,过程比本地回滚要复杂 应用场景:自动部署系统发布后发现问题

    Java-JDBC【源码】事务介绍、事务特性、操作事务(事务提交、异常回滚)

    Java-JDBC【之】事务介绍、事务特性、操作事务(事务提交、异常回滚) 1.数据库事务 1.1.介绍 1.2.事务特性(ACID) 1.3.隔离性(Isolation),带来的问题与处理 1.4.JDBC事务处理 2.事务提交(代码实现) 3.异常...

    oracle回滚段使用率过高之解决方法

    本文将介绍 Oracle 回滚段的概念、用法和规划,并提供多种解决回滚段使用率过高的问题的方法。 一、回滚段概述 回滚段是一种特殊的表空间,它用于存放数据修改之前的值。回滚段的头部包含正在使用的该回滚段事务的...

    事物例子(构件,开始,提交,回滚) c#

    让我们深入探讨一下标题和描述中提到的“事物例子(构件,开始,提交,回滚)”以及相关的C#知识点。 首先,"构件"(Component)在.NET Framework中指的是System.ComponentModel命名空间下的Component类,它是所有可托管...

    回滚段参数修改

    2. **事务恢复**:如果在事务处理过程中发生例程失败,Oracle会在下次打开数据库时利用重做日志文件中的回滚段信息来恢复未提交的数据。 3. **读一致性**:回滚段确保了在并发环境中,不同的会话看到的数据是一致的...

    ORACLE回滚段的概念、用法和规划及问题解决

    当一个事务提交或回滚后,其相关的回滚段信息将被清除。回滚段是Oracle数据库中事务恢复的核心组件之一。 #### 二、回滚段的用法 ##### 1. 回滚段的基本用法 在Oracle数据库中,可以通过以下方式创建一个回滚段:...

    c#对2个表中的数据同时进行操作,数据错误,数据回滚

    3. **提交或回滚事务**:如果所有操作都成功,调用`transaction.Commit()`来提交事务。如果在任何时候发生错误,调用`transaction.Rollback()`来撤销所有操作。在上面的`try-catch`块中,你可以这样处理: ```...

    oracle回滚段问题

    2. 事务恢复:在系统故障导致的例程失败后,Oracle会利用重做日志文件中的回滚信息,在下次打开数据库时恢复未提交的事务。 3. 读一致性:Oracle通过回滚段确保在事务执行过程中,其他会话看不到未提交的修改,保证...

    JDBC事务处理、提交、回滚。.docx

    - **手动提交模式**:关闭自动提交后,需要程序员显式调用`Connection`对象的`commit()`方法来提交事务,或者在出现问题时调用`rollback()`方法回滚事务。 2. **开启事务** 在JDBC中,可以使用`Connection`对象的...

    mysql实现事务的提交和回滚实例

    在MySQL数据库中,事务是确保数据一致性的重要机制,它允许我们执行一组数据库操作,并在所有操作都成功时将其提交,或者在任何操作失败时回滚整个事务,从而撤销所有更改。本实例将深入探讨如何在MySQL中实现事务的...

    SQL写了回滚无效 回滚没用

    在探讨“SQL写了回滚...通过以上分析,我们可以看到,事务回滚无效的问题往往与错误处理机制、事务管理以及数据库配置有关。解决这些问题需要对SQL事务有深入的理解,并结合具体的应用场景进行细致的代码设计和调试。

    oracle 回滚段探究

    3. **事务提交**:事务提交时,回滚段中的事务标记为已提交,日志缓冲区中的日志必须被写入磁盘。如果数据缓冲区中的数据已被写入磁盘,则不会对其进行额外的标记。 4. **事务回滚**:回滚段中的数据被用来恢复到...

    IDEA通过git回滚到某个提交节点或某个版本的操作方法

    在使用 IDEA 通过 Git 回滚到某个提交节点或某个版本时,有可能出现以下问题: * 如果在回滚操作后,出现提交版本报错,可以尝试重新提交更改。 * 如果在执行强制提交命令时,出现错误信息“remote: GitLab: You ...

    简单的c#事务回滚实例代码

    当事务中的某一步骤出现问题,可以使用回滚(Rollback)操作撤销所有已完成的步骤,恢复到事务开始前的状态。 在C#中,我们可以利用System.Transactions命名空间提供的TransactionScope类来创建一个事务上下文。...

    mysql实现事务的提交与回滚的实例详解

    这里我们将深入探讨事务的提交、回滚以及异常处理。 1. **事务的开启与结束** - 使用`START TRANSACTION`语句开始一个新的事务。 - 提交事务使用`COMMIT`语句,这将永久保存事务中的所有更改。 - 回滚事务使用`...

    oracle数据库回滚段专题解析

    ### Oracle数据库回滚段专题解析 #### 回滚段概述 在Oracle数据库中,回滚段(Rollback Segment)是一种非常重要的数据结构,主要用于存储数据修改前的状态信息,即所谓的“前影像”。这一机制对于确保数据库的...

    Oracle数据库回滚段的故障分析与性能优化.pdf

    同时,数据库管理员也可以通过监控回滚段的使用情况,来预防回滚段空间分配问题的发生。 3. 数据库不能正常启动或关闭 数据库管理员可以通过检查回滚段的状态,来确定是否存在故障,并采取相应的解决步骤。 四、...

    基于GrégoireCachet的优秀要点的Django事务的提交和回滚信号。_Python_下载.zip

    Grégoire Cachet的优秀要点深入探讨了Django中的事务处理,特别是关于事务的提交和回滚信号。这些信号使得开发者能够更精细地控制数据库操作,并在特定条件下触发事务的提交或回滚,确保数据的正确保存或撤销。 1....

    嵌套事务的回滚与提交.pdf

    本文主要讨论了嵌套事务的回滚与提交,以及事务保存点的使用。 首先,我们要明白在嵌套事务中,如果内部事务出错,通常会引发外部事务的回滚。这是因为内部事务的失败被视为整个事务链的失败。例如,如果外部事务...

Global site tag (gtag.js) - Google Analytics