Csharp/C#教程:如何仅在sql中为特定连接创建事务?分享


如何仅在sql中为特定连接创建事务?

我想在sql中为特定连接创建一个事务。 它应该为所有连接锁定该表,但允许其他连接读取该表,即使该事务是从另一个连接开始的。 我应该使用什么隔离级别。

Tran = CnnTran.BeginTransaction(IsolationLevel.RepeatableRead); 

对于select查询,您可以使用WITH (NOLOCK)SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

READ UNCOMMITTED:指定语句可以读取已被其他事务修改但尚未提交的行。 因此,select语句可以读取由其他未提交的事务更新的行。 因此,需要在要读取该表的另一个连接上设置隔离级别。

如果需要,可以在连接处设置:

 var myConnection = new SqlConnection(); // connection for reading uncommitted transactions myConnection.BeginTransaction(IsolationLevel.ReadUncommitted).Commit(); 

或者,如果您愿意,您可以在交易中执行此操作:

上述就是C#学习教程:如何仅在sql中为特定连接创建事务?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 using (var myConnection = new SqlConnection(connectionString)) { myConnection.Open(); using (var transaction = myConnection.BeginTransaction(IsolationLevel.ReadUncommitted)) { // do stuff transaction.Commit(); } } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/992658.html

(0)
上一篇 2021年12月25日
下一篇 2021年12月25日

精彩推荐