Transaction And Lock--事务中使用return会回滚事务吗?
生活随笔
收集整理的這篇文章主要介紹了
Transaction And Lock--事务中使用return会回滚事务吗?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
事務(wù)中使用return會(huì)回滾事務(wù)嗎?
答案:不會(huì),如果在事務(wù)中沒有顯示提交或回滾事務(wù)邊return,事務(wù)不會(huì)被提交或回滾,在C#中,如果沒有使用連接池,則事務(wù)在連接斷開和銷毀時(shí)被強(qiáng)制回滾,如果使用連接池,則事務(wù)在連接被再次使用時(shí)調(diào)用的exec sp_reset_connection存儲(chǔ)過程清理掉。如果該連接沒有被再次使用或刪除,則事務(wù)一直存在,便會(huì)一直鎖住相關(guān)資源不釋放,照常日志變大,鏡像和復(fù)制異常等情況。
測(cè)試code:
--創(chuàng)建測(cè)試表
CREATE TABLE TB5
(
ID INT
)
測(cè)試C# CODE
SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder();sb.DataSource = "192.168.1.101";sb.InitialCatalog = "db1";sb.Password = "Auto@sql";sb.UserID = "sa";sb.IntegratedSecurity = false;sb.ConnectTimeout = 60;sb.Pooling = true;int i = 1000;while (i > 0){using (SqlConnection conn = new SqlConnection(sb.ConnectionString)){conn.Open();SqlCommand comm = conn.CreateCommand();comm.CommandText = @"BEGIN TRAN TR1 INSERT INTO TB5(ID) SELECT 1 RETURN ";comm.CommandType = System.Data.CommandType.Text;comm.ExecuteNonQuery();conn.Close();}i--;Console.WriteLine(i);}System.Threading.Thread.Sleep(60 * 1000);?
轉(zhuǎn)載于:https://www.cnblogs.com/TeyGao/p/3522965.html
總結(jié)
以上是生活随笔為你收集整理的Transaction And Lock--事务中使用return会回滚事务吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server技术问题之视图优缺点
- 下一篇: 约瑟夫问题(丢手帕问题)