zoukankan      html  css  js  c++  java
  • 事务

    属性:

    1.原子性:事务是一个完整的操作,事务的各元素师不可分的。

    2.一致性:事务开始时和完成时,数据必须处于一致的状态。

    3.隔离性:对数据进行修改的所有并发事务是彼此隔离的。

    4.持久性:事务完成后,它对系统的影响是永久的。

    ?

    Transact-SQL使用下列语句来管理事务:

    开始事务:BEGIN TRANSACTION

    提交事务:COMMIT TRANSACTION

    回滚:ROLLBACK TRANSACTION

       public bool SendMessage(Msg_InBoxMessageModel inmodel, Msg_OutBoxMessageModel outmodel, Msg_MessageModel model)

            {

                try

                {

                    using (SqlConnection conn = new SqlConnection(DBConnString))

                    {

                        conn.Open();

                        SqlTransaction trans = conn.BeginTransaction();

                        if (!Create(model, trans: trans))

                        {

                            trans.Rollback();

                            return false;

                        }

                        inmodel.MessageId = model.Id;

                        if (!DALControl.Msg_InBoxMessageDAL.Create(inmodel, trans: trans))

                        {

                            trans.Rollback();

                            return false;

                        }

                        outmodel.MessageId = model.Id;

                        if (!DALControl.Msg_OutBoxMessageDAL.Create(outmodel, trans: trans))

                        {

                            trans.Rollback();

                            return false;

                        }

     

                        trans.Commit();

                    }

                    return true;

                }

                catch (Exception ex)

                {

                    log.Error(ex.Message, ex);

                    return false;

                }

     

            }

    两个数据库连接可以用同一个事务

    1.
    事务开始
    update db1.tb1 --成功
    update db2.tb2 --成功
    事务提交
    2.
    update db1.tb1 --成功
    update db2.tb2 --失败
    db1的操作回滚,不更新
    3.
    update db1.tb1 --失败
    update db2.tb2 --不操作
  • 相关阅读:
    Minio对象存储
    白话解说TCP/IP协议三次握手和四次挥手
    企业环境下MySQL5.5调优
    Mac下iTerm2配置lrzsz功能
    七牛云图床和Markdown使用
    SSIS: 把存储在数据库中的图片导出来
    关闭Outlook的时候使之最小化
    【转】CTE(公用表表达式)
    通过SSIS监控远程服务器磁盘空间并发送邮件报警
    在Windows Server 2008 R2 中架设 SMTP 服务器
  • 原文地址:https://www.cnblogs.com/viaiu/p/4816768.html
Copyright © 2011-2022 走看看