Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对单个SQL查询使用SQL事务_Sql_Sql Server_Transactions - Fatal编程技术网

对单个SQL查询使用SQL事务

对单个SQL查询使用SQL事务,sql,sql-server,transactions,Sql,Sql Server,Transactions,这几天我读了很多关于SQL事务的书。 但我还没有找到我的问题的答案。也许这里有人能解决我的问题 确切的问题是:我应该为单个select/update/insert语句使用sql事务吗 或者对一条SQL语句使用SQL事务是过分的吗 谢谢 问候 Ali单个语句隐式地拥有自己的事务。默认情况下,单个语句创建并回滚/提交它们自己。从理论上讲,您可以使其行为类似于显式事务,尽管我想不出一个超级好的理由来这样做 我能想到的将单个语句包装在其自己的显式事务中的唯一原因是,如果您想让事务保持打开状态,以便可以测

这几天我读了很多关于SQL事务的书。 但我还没有找到我的问题的答案。也许这里有人能解决我的问题

确切的问题是:我应该为单个select/update/insert语句使用sql事务吗

或者对一条SQL语句使用SQL事务是过分的吗

谢谢

问候 Ali

单个语句隐式地拥有自己的事务。默认情况下,单个语句创建并回滚/提交它们自己。从理论上讲,您可以使其行为类似于显式事务,尽管我想不出一个超级好的理由来这样做


我能想到的将单个语句包装在其自己的显式事务中的唯一原因是,如果您想让事务保持打开状态,以便可以测试诸如阻塞之类的内容,或者只是在回滚之前在调试时检查数据。

这取决于您的查询是什么。事务确保数据库始终保持一致,并且您确定您的查询将通过或失败。是的,我知道这一点。但是,我是否应该在每次与数据库通信时都在应用程序中使用事务?还是这太过分了?您能告诉我一个非常简单的示例,其中您建议使用事务,而您不建议使用sql事务吗?这在select语句中是没有意义的。如果不为单个插入或更新指定显式事务,它将使用隐式事务。因此,任何给定的更新或插入都使用事务。如果需要跨多个语句回滚数据状态,则需要显式回滚。使用事务进行插入/更新并没有什么害处,只需要编写更多的代码就可以了。太好了。我就是这么想的。。。谢谢你的回答:-)