sql-server - 如何在 SQL Server session 中设置自动提交?

标签 sql-server session autocommit

如何在 SQL Server session 中设置自动提交?

最佳答案

您可以通过将implicit_transactions设置为OFF来打开自动提交:

SET IMPLICIT_TRANSACTIONS OFF

当设置为ON时,返回隐式事务模式。在隐式事务模式下,您所做的每个更改都会启动一个必须手动提交的事务。

也许举个例子更清楚。这会将更改写入数据库:

SET IMPLICIT_TRANSACTIONS ON
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
COMMIT TRANSACTION

这不会将更改写入数据库:

SET IMPLICIT_TRANSACTIONS ON
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
ROLLBACK TRANSACTION

以下示例将更新一行,然后提示没有要提交的事务:

SET IMPLICIT_TRANSACTIONS OFF
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
ROLLBACK TRANSACTION

正如 Mitch Wheat 所说,自动提交是 Sql Server 2000 及更高版本的默认设置。

关于sql-server - 如何在 SQL Server session 中设置自动提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1090240/

相关文章:

sql-server - SQL Server 中 To_Char 和 T_Number 交替进行格式化

sql-server - 为什么当SQL Server设置为强制加密时,SSMS允许登录,而SSMS登录选项中没有选择 'encrypt connection'选项

Java:为什么在关闭选项卡或浏览器时不会破坏 http session ?

jquery - 使用 jQuery 创建表单,正常提交后 session 变量消失

mysql - 使用 MySQL 时在 SQL Developer 中禁用自动提交

sql - 如何获取SQL组查询的第一行?

session - 从外部 cakephp 访问 cakephp session (auth)

pyramid - pyramid什么时候提交zodb事务?

SQLite 错误 : cannot commit transaction - SQL statements in progress using Java Code

sql - 如何避免Sql查询超时