问题标签 [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.
oracle - 我可以用保存点代替在 Oracle 中启动新事务吗?
现在我们用于插入记录集的过程是这样的:
(请注意,“记录集”是指一个人的记录以及他们的地址、电话号码或任何其他连接表)。
- 开始交易。
- 插入一组相关的记录。
- 如果一切都成功,则提交,否则回滚。
- 返回到步骤 1 获取下一组记录。
我们应该做更多这样的事情吗?
- 在脚本开头启动事务
- 为每组记录启动一个保存点。
- 插入一组相关记录。
- 如果有错误则回滚到保存点,如果一切成功则继续。
- 在脚本开头提交事务。
在遇到 ORA-01555 的一些问题并阅读了一些 Ask Tom 文章(如这篇文章)之后,我正在考虑尝试第二个过程。当然,正如 Tom 所指出的,开始一项新事务应该由业务需求来定义。第二个过程值得尝试,还是一个坏主意?
python - 在 python sqlite3 中使用保存点
我正在尝试将保存点与 python 2.6 中内置的 sqlite3 模块一起使用。每次我尝试释放或回滚保存点时,我总是会收到一个OperationalError: no such savepoint
. 我错过了什么?
从此代码:
nhibernate - 实现 NHibernate 嵌套事务行为
我正在尝试使用 NHibernate 的事务控制和 FlushMode 选项来实现某种嵌套事务行为,但是在阅读过多之后事情变得有点混乱,所以任何关于我在下面列出的事实的确认都将非常有用。
我想要的是打开一项拆分为小交易的大交易。想象以下场景:
- TX1 打开一个 TX 并插入一个 Person 的记录;
- TX2 打开一个 TX 并将这个人的名字更新为 P2;
- TX2 提交;
- TX3 打开一个 TX 并将这个人的名字更新为 P3;
- TX3 回滚;
- TX1 提交;
我希望看到 NH 将 INSERT 和 TX2 UPDATE 发送到数据库,只是忽略 TX3,因为它已回滚。
我尝试使用 FlushMode = Never 并且仅在要求正确的开始/提交/回滚后刷新会话,但 NH 始终使用对象的最终状态更新数据库,与提交和回滚无关。这正常吗?当使用 FlushMode = Never 时,NH 是否真的忽略了事务控制?
我也尝试使用 FlushMode = Commit 并打开嵌套事务,但我发现,因为 ADO.NET,嵌套事务实际上总是相同的事务。
请注意,我并不是要实现“全有或全无”的行为。我正在寻找一种保存点的工作方式。有没有办法用 NH 做到这一点(保存点)?
先感谢您。
菲利普
c# - 如何将 Linq 的保存点设置为 SQL 并使用“NO”ExecuteCommand?
它有效,但仅适用于 ExecuteCommand。我想使用一个函数,因为我看不到保存点中发生了什么!
mysql - ActiveRecord、MySQL 和嵌套事务——行为是什么?
Rails 使用保存点来实现与 MySQL 的嵌套事务,据我了解,就原子数据更改而言,其语义与实际嵌套事务相同。
- 这是真的?
- 在代码中的任意时间调用“保存”怎么样?交易仍然保持开放,直到区块结束,对吧?使用嵌套事务/保存点时的行为有什么不同吗?
- 还有什么需要注意的吗?
- 【故意煽动火焰战争】我应该切换到PostgresSQL吗?
hibernate - 使用休眠的保存点
问题是我在临时基础上在休眠中使用保存或更新...
现在,当我最终触发更新时,它将永久存储在数据库中,否则回滚它..
如何使用休眠基础创建保存点是春天。
喜欢
现在我想在保存或更新之前添加保存点。
任何帮助将是appriciate..
谢谢你的建议。
postgresql - 如何在postgreSQL中出现异常后重试事务
在我的代码的不同部分,我必须在出现异常后重试事务。但我不知道该怎么做。这是我的测试功能:
sql - 从事务到保存点的 sqlite 转换
基于MySQLite
的应用程序当前使用事务 - 既能够回滚,又能提高性能。我正在考虑用保存点替换所有事务。原因是应用程序是多线程的(是的,sqlite
配置为线程安全的),并且在某些情况下,事务可能由两个线程同时启动(在同一个数据库上)。
- 有理由不这样做吗?
- 有什么我需要注意的陷阱吗?
- 我只是用
BEGIN
,COMMIT
,ROLLBACK
替换SAVEPOINT xyz
,RELEASE SAVEPOINT xyz
,ROLLBACK TO SAVEPOINT xyz
吗?
django - 如何将 Django 1.4 与 Xeround 一起使用?
根据Xeround 的发行说明,他们不支持保存点,我不知道如何在 Django 1.4 中关闭对此的支持。有谁知道如何做到这一点?