SQL Server 开始传输.. Oracle 中的回滚等价物
Posted
技术标签:
【中文标题】SQL Server 开始传输.. Oracle 中的回滚等价物【英文标题】:SQL Server's begin tran.. rollback equivalent in Oracle 【发布时间】:2021-03-02 00:53:21 【问题描述】:我是 Oracle 新手,我在 SQL Server 中使用了以下回滚命令。但是相同的命令在 Oracle 中不起作用。
begin tran
....sql statement
rollback
Oracle 中等价的begin tran... rollback
是什么?
【问题讨论】:
【参考方案1】:每当您执行 DML 时,Oracle 都会为您隐式启动事务(默认情况下,打开的事务在 Oracle 中要安全得多,因为您没有编写器阻止读取器,并且您没有事务日志备份问题)。
您可以使用commit
或rollback
结束它们。无需显式启动事务。
【讨论】:
如果我对选择语句使用回滚,我会收到错误 ORA-00933:SQL 命令未正确结束 00933. 00000 - “SQL 命令未正确结束” *原因:*操作:第 4 行错误:第 1 列 我们必须在产生它的 exact 命令的上下文中查看该错误。我猜你没有在 SELECT 语句后面加上分号。但总的来说,没有什么可以从一个简单的 SELECT 命令提交或回滚。事务由执行 DML(INSERT、UPDATE、MERGE 或 DELETE)而不是 SELECT 启动。 @JSBeginner,你想要一个只读事务吗?见the doc。以上是关于SQL Server 开始传输.. Oracle 中的回滚等价物的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spring Boot 的 Oracle 到 SQL Server 数据传输
将 XML 文档从 SQL SERVER 插入到 Oracle
将表从 Oracle 转移到 SQL Server 的方法都有哪些
Oracle Transparent Gateway Connect to SQL Server 透明网关