使用显式事务进行单次更新有什么意义吗?
我有一个存储过程(SQL Server),它除了更新表中的一行之外什么也不做。
在更新之前/之后添加 BEGIN TRANSACTION
和 COMMIT TRANSACTION
是否有任何影响?
I have a stored procedure (SQL Server) which does nothing more than updates a single row in a table.
Does adding BEGIN TRANSACTION
and COMMIT TRANSACTION
before/after the update have any effect at all?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不会。事务确保一组修改语句是原子的,即所有步骤都成功或所有步骤都失败。如果只有一条语句,则无需再使用事务。
无论如何,T-SQL 会自动执行此操作。这就是为什么他们称之为 Transact SQL ...
No. Transactions ensure that a set of modifying statements are atomic, namely that either all steps succeed or all steps fail. In case there is only one statement, there is no need to use transactions anymore ..
Anyway, T-SQL does that automaticaly. That's why they called it Transact SQL ...