zoukankan      html  css  js  c++  java
  • Transaction And Lock--事务中使用return会回滚事务吗?

    事务中使用return会回滚事务吗?

    答案:不会,如果在事务中没有显示提交或回滚事务边return,事务不会被提交或回滚,在C#中,如果没有使用连接池,则事务在连接断开和销毁时被强制回滚,如果使用连接池,则事务在连接被再次使用时调用的exec sp_reset_connection存储过程清理掉。如果该连接没有被再次使用或删除,则事务一直存在,便会一直锁住相关资源不释放,照常日志变大,镜像和复制异常等情况。

    测试code:
    --创建测试表
    CREATE TABLE TB5
    (
    ID INT
    )

    测试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);
  • 相关阅读:
    73. Set Matrix Zeroes (Array)
    79. Word Search (Array; DFS,Back-Track)
    59. Spiral Matrix II (Array)
    PAT 1082. Read Number in Chinese
    PAT 1067 Sort with Swap(0,*)
    LeetCode Min Stack
    LeetCode Find Minimum In Rotated Sorted Array
    PAT 1071. Speech Patterns
    PAT 1022. Digital Library
    PAT 1041. Be Unique
  • 原文地址:https://www.cnblogs.com/TeyGao/p/3522965.html
Copyright © 2011-2022 走看看