问题标签 [savepoints]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
661 浏览

oracle - Oracle 全局临时表中的保存点

我读到 Oracle 全局临时表中的保存点会删除所有数据,但是当我在 Oracle 11g 上进行测试时,它们就像堆表一样工作。谁能解释一下?

0 投票
0 回答
364 浏览

transactions - 存储过程中的 DB2 保存点无效

我正在创建一个像这样的 DB2 存储过程

然而,当错误状态由于某种原因不是“00000”时(据说是死锁),我得到的错误状态是 3B001,它代表我创建的保存点不存在或无效

我试图关闭自动提交,但仍然不起作用,此外,据我了解,我的查询将被视为单个事务,因此它不一定会关闭自动提交

它在 CentOS 6.5 上运行的 DB2 ESE 10.5 上

有什么建议吗?

- - -笔记 - - -

我设法通过改变来解决我的问题

只是

这解决了我的问题,但是,我仍然不知道为什么如果我只使用“回滚到保存点 save1”它拒绝回滚到某个保存点,但是当我只使用“回滚”时它可以工作?有人可以帮我解释一下为什么会这样吗?

0 投票
1 回答
471 浏览

java - 如何在集成测试中设置保存点(使用内存中的 hsqldb)?

我有与 hsqldb 的集成测试(在内存中),现在我需要在我的测试中设置保存点,在 BaseTest 类中,如何在测试中设置保存点(hsqldb(内存中))?

基础测试:

我的测试:

测试配置:

0 投票
2 回答
85 浏览

java - 如何以编程方式比较两个保存点?

我想比较两个保存点并检查其间是否有对数据库的任何提交。例如,考虑以下代码片段

现在我要探索的是:有没有一种方法可以以编程方式检查两个保存点之间是否有任何提交?

0 投票
1 回答
1824 浏览

sql-server - 在存储过程中使用 SAVE TRANSACTION SavePointName

我不清楚是否需要为我使用的每个 SP 使用不同的保存点名称SAVE TRANSACTION

我可以一直使用例如SAVE TRANSACTION ProcedureSavePointROLLBACK TRANSACTION ProcedureSavePoint即使更高级别的事务使用相同的保存点名称?

我的 SP(s) 签名如下:

希望我的问题很清楚。

0 投票
1 回答
821 浏览

java - Java中的回滚存储过程

我有一个要求,我必须根据条件回滚存储过程。

首先我调用存储过程,然后检查条件,如果条件失败,则必须回滚。下面是我尝试过的代码。

在上面的代码中,getStudents()方法打印学生表中的姓名列表。在回滚之前和回滚之后运行这个getStudents()方法。我已将 Savepoint 设置Savepoint savepoint1 = conn.setSavepoint("ROLLBACK_SP"); 并使用此保存点回滚。

但是回滚没有发生。我错过了什么吗?请帮忙。

0 投票
1 回答
578 浏览

mysql - MySQL:开始事务 - 更新 - 回滚:非事务表

我正在尝试运行这些查询来执行 ROLLBACK,但我不太确定我做错了什么,但我收到了警告:

一些非事务性更改的表无法回滚。

经过一番研究,我发现此消息的最可能原因是错误假设表是事务性的,但实际上不是。如何确定哪些表是事务性的?

我必须假设我正在使用的数据库使用回滚,因为它在我为要求我们使用数据库的类分配的作业中。

0 投票
1 回答
2750 浏览

sqlite - SQLite 中的 SAVEPOINT 机制

我正在尝试了解 SQLite 中的保存点和事务。我在表/数据库上有以下命令,我正在使用保存点。

现在,如果我一次执行上述所有语句,它会抛出一个错误,说A transaction cannot be started inside another transaction. 如果我一次运行它们,它工作正常。如果我运行前两个 Savepoint 和 release 命令并尝试通过执行Begin. 它再次抛出与以前相同的错误。

这里的链接说

如果在 SQLite 处于自动提交模式(即在事务之外)时发出 SAVEPOINT 命令,则将启动标准自动提交 BEGIN DEFERRED TRANSACTION。但是,与大多数命令不同,自动提交事务不会在 SAVEPOINT 命令返回后自动提交,从而使系统处于打开的事务中。自动事务将保持活动状态,直到原始保存点被释放,或者外部事务被显式提交或回滚。`

那么,在 Release Savepoint 命令之后是否绝对需要 Commit 或 Rollback 命令?命令不release提交并允许我们使用 ? 开始新事务BEGIN

0 投票
0 回答
631 浏览

apache-kafka - Flink 中的事件溯源

我有一个按照事件溯源范例实现的 Flink 应用程序。事件和命令都存储在几个 Kafka 主题中。

该应用程序有两种启动模式:恢复和生产。首先,恢复模式用于从事件主题中恢复应用程序状态(保存点)。在这种模式下,根本不读取命令。处理完所有事件主题后,将手动触发保存点(从命令行)并停止应用程序。然后,纱线过程在生产模式下启动。在该模式下,应用程序同时处理事件和命令。

我宁愿以编程方式执行此过程。为此,出现了几个问题......应用程序本身如何:

  1. 检测到卡夫卡源已被完全阅读?
  2. 以编程方式触发保存点?
  3. 以编程方式停止和启动?

谢谢!

0 投票
0 回答
989 浏览

mysql - 获取 MySQL InnoDB 中的保存点列表

如何获取 InnoDB 中的保存点列表?我需要它,因为在我的数据库中,我正在运行一个可能会或可能不会创建多个保存点的函数。