当前位置: 首页 > 面试题库 >

如果我从不提交,是否需要致电回滚?

权兴为
2023-03-14
问题内容

我正在使用自动提交功能连接到SQL Server。如果一切成功,我称之为提交。否则,我就退出。我是否需要显式调用回滚,还是在不提交就关闭连接时自动回滚?

如果很重要,我将从SAS的proc sql内部执行SQL命令。

更新: 如果未调用回滚,则SAS可能会在proc sql块的末尾自动调用commit。因此,在这种情况下,回滚将不仅仅是一个好习惯;这将是必要的。

最终更新:
我们最终切换到了新系统,在我看来,这与我们以前的系统相反。在未指定提交或回滚的情况下结束事务时,它将回滚。因此,以下给出的建议绝对正确:始终显式提交或回滚。


问题答案:

在连接关闭时回滚。强调应该出于一个原因:-)

正确的事务和错误处理应始终使您在满足提交条件时提交,而在不满足提交条件时回滚。我认为这是一个很好的习惯,即在完成操作后始终进行提交或回滚,而不依赖于断开连接/
etc。只需要一个错误或不正确/未关闭的会话即可为所有人创建阻塞链梦night :-)



 类似资料:
  • 问题内容: 在redux文档中给出的示例中,似乎总是从中间件返回一些东西。但是,当我打电话不返回时,一切似乎都正常。 在redux源中,它似乎正在调用每个中间件的返回值。 这使我相信,它为所有中间件运行后提供了一种可选的方式来运行调度。 有人可以确认我们是否必须始终从中间件返回值吗?为什么? 问题答案: 我实际上是前几天在这条推文上发表的。 默认情况下,该方法返回传递的操作。由于中间件管道环绕,因

  • 我决定为Android制作最低API版本21,但这是否意味着不再使用AppCompat了?只是使用普通的材料设计/没有AppCompat/等?

  • 问题内容: 我有这样的查询: 我这样做的原因是为了确保如果有错误,我可以做一个 我运行了代码,得到的消息是 SSMS并未像平常那样声明某些内容。 当我尝试执行a时,它表示该交易从未开始 所以我的问题是, 行 是否 已提交到数据库? 如果不是,那么为什么它只说“由于错误而导致查询未完成”呢? 问题答案: 描述 从SQL Server 2005开始,您可以使用以下命令进行错误处理: TRY … CAT

  • 问题内容: 那里的许多示例都主张对数据库事务进行显式回滚,具体方法如下: 但是,我倾向于这样做: 当发生异常时,我只是依靠未提交事务的隐式回滚。 依靠这种隐式行为有什么问题吗?有人有令人信服的理由为什么我不应该这样做吗? 问题答案: 不,它不是特别需要的,但是我可以想到两个可能是个好主意的原因: 明晰 有人可能会争辩说使用可以更清楚地表明在什么情况下不会进行交易。 释放锁 在处理事务时,重要的是要

  • 我回到Java并回顾了我的一些旧代码,我看到了很多我已经做过的地方 或者从swing/awt包中实际导入特定类。我不记得是否需要导入java。awt.*在javax中使用任何东西。摇摆。*或者我会导入java。awt.*还有别的原因吗?换句话说,导入java的目的是什么。awt.*?我觉得使用JButton、JFrame等所需的一切都是javax。摇摆。

  • 问题内容: 我有一个非常简单的文件: 而且有效。 但是,当我删除元素时,应用程序看不到实体(所有类都带有注释)。 是否有自动扫描类的机制? 问题答案: 你可以使用 该文件定义了一个名为的持久性单元,它使用JTA感知数据源。所述和元素指定管持久类:实体类,可嵌入类和超类映射。该元素指定JAR文件都包含持久化类管理的打包持久单元可见,而该class元素明确命名持久化类管理。 对于,也可以进行设置和配置