如何仅提交一些说明

时间:2014-01-24 13:25:07

标签: plsql transactions

让我们说我有一个删除,更新和插入的SQL脚本......并且我曾经有另一个更新,我只想提交此更新。我怎么能这样做?

delete 1
delete 2
....
insert 1
....
update 1
....
insert 2
...
**update 2**

我只想提交更新2 ...我应该使用块还是什么?

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

你到底想要什么?请提供表名,插入/更新脚本等。可能您应该查看您实际需要做的事情,因为您尝试做的事情似乎是荒谬的,也是可以避免的。

这在技术上是可行的:

您可以使用update 2PRAGMA AUTONOMOUS_TRANSACTION放入块(过程)中。这样,如果您在该块内部提交,则仅提交更新2。 然而,这是一个糟糕而混乱的修复 - 使用PRAGMA AUTONOMOUS_TRANSACTION除了记录目的之外的其他任何东西。你最有可能最终破坏数据完整性和流程。

答案 1 :(得分:0)

您是直接使用PL / SQL吗?如果您使用的是C / C ++和OCI,则可以在单个数据库连接中使用多个事务并在它们之间切换。 PL / SQL中无法实现这样的功能。在PL / SQL中,您只能使用自主交易。