我正在使用自动提交功能连接到SQL Server。如果一切成功,我称之为提交。否则,我就退出。我是否需要显式调用回滚,还是在不提交就关闭连接时自动回滚?
如果很重要,我将从SAS的proc sql内部执行SQL命令。
更新: 如果未调用回滚,则SAS可能会在proc sql块的末尾自动调用commit。因此,在这种情况下,回滚将不仅仅是一个好习惯;这将是必要的。
最终更新: 我们最终切换到了新系统,在我看来,这与我们以前的系统相反。在未指定提交或回滚的情况下结束事务时,它将回滚。因此,以下给出的建议绝对正确:始终显式提交或回滚。
它 应 在连接关闭时回滚。强调应该出于一个原因:-)
正确的事务和错误处理应始终使您在满足提交条件时提交,而在不满足提交条件时回滚。我认为这是一个很好的习惯,即在完成操作后始终进行提交或回滚,而不依赖于断开连接/ etc。只需要一个错误或不正确/未关闭的会话即可为所有人创建阻塞链梦night :-)