【问题标题】:is it possible to commit/rollback another procedures transaction in current procedure是否可以在当前程序中提交/回滚另一个程序事务
【发布时间】:2013-04-20 12:13:56
【问题描述】:

我有两个问题

1.我有两个存储过程。是否可以在我当前的过程中提交/回滚另一个过程的事务。

2.我有两个网络服务两个服务连接到同一个数据库或链接服务器数据库。一个网络服务成功了它的交易。移动到第二个 Web 服务时发生了一些错误。如果发生错误,我必须回滚以前的 Web 服务事务。?是否可以。如果有人解释与ATM等银行交易相关的内容

有可能吗? 如何? 解释与银行业相关的,几乎没有可理解的编码。

【问题讨论】:

  • 如果您有两个问题,请分别提出。对于问题 1,我建议您告诉我们为什么您想这样做,因为不清楚您真正需要做什么。问题2很不清楚,主要是你没有说错误是什么,是哪个组件抛出的,什么时候发生的。
  • 关于你的第一个问题,你说的是嵌套存储过程吗?

标签: sql-server web-services sql-server-2008 stored-procedures transactions


【解决方案1】:
  1. 不,必须从发出开始事务语句的同一连接发出提交。

  2. 在这种情况下,您首先需要在数据表中附加一个“事务”字段或类似的内容,以唯一标识每个事务。如果第二个 Web 服务需要发出涉及第一个 Web 服务工作的回滚,则它必须调用一个自定义进程,然后发出删除以查找您已构建到表中的事务标识符。 db 引擎没有内置功能可以开箱即用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 2019-07-30
    • 1970-01-01
    相关资源
    最近更新 更多