autocommit究竟在DB GUI工具中做了什么?

时间:2017-05-02 14:49:41

标签: sql-server

我正在使用DBVisualizer for macOS。我看到一个名为auto commit的选项。我把它关掉了。因此,当我关闭软件时,它会询问是提交还是回滚。但我只执行了SELECT次查询。那么为什么在这种情况下提交需要除非它正在改变表中的某些内容?大多数时候我想要只读模式,所以我禁用了自动提交功能。在这种情况下,有人可以解释为什么我需要提交。它是MS-SQL。感谢。

1 个答案:

答案 0 :(得分:1)

因为select语句启动了一个事务,应该通过提交或回滚来适当终止。如果没有对任何表进行实际更改,那么选择在逻辑上是无关紧要的。请参阅:

https://docs.microsoft.com/en-us/sql/t-sql/statements/set-implicit-transactions-transact-sql

虽然终止的选择无关紧要,但应用程序并不足以知道没有进行任何更改;它只知道有一个开放的交易。因此,提示。