• sql序列(5)事务


    1,场景:几个操作必须作为同一个单元同时成功或者失败,就应该使用事务

    2,事务的四个属性(ACID):
    原子性:把事务看作是一个单一动作,而不是各个操作的集合
    一致性:事务无论成功与否,都让数据库处于一致状态
    孤立性:每个事务都有明确的界限,一个事务不影响其他运行的事务
    持续性:事务中的数据修改,将永久保持在系统中

    3,事务的描述:
    BEGIN TRANSACTION //开始事务
    COMMIT TRANSACTION //提交事务
    COMMIT WORK
    ROLLBACK TRANSACTION //回滚事务
    ROLLBACK WORK
    SET IMPLICIT_TRANSACTIONS

    4,创建事务
    语句1:
    ================================================
    BEGIN TRANSACTION
    UPDATE USERS SET ID = 2 WHERE ID = 1;
    if(@@error<>0) //判断是否报错如果报错就回滚信息否则提交事务
    BEGIN
    ROLLBACK TRANSACTION
    END
    elseu
    BEGIN
    COMMIT TRANSACTION
    END

    5,使用事务
    语句2:
    ================================================
    try
    {
    SqlTransaction st = null;
    using(SqlConnection con = new SqlConnection(''数据库连接串))
    {
    con.Open();
    st = con.BeginTransaction();
    SqlCommand cmd = con.CreateCommand()
    cmd.CommandText = '<INSERT T-SQL>';
    cmd.TRANSACTION = st;
    SqlCommand cmd_2 = con.CreateCommand()
    cmd_2.CommandText = '<DELETE T-SQL>';
    cmd_2.TRANSACTION = st;
    cmd.ExecuteNonQuery();
    cmd_2.ExecuteNonQuery();
    st.COMMIT();
    }
    }
    catch(Exception ex)
    {
    st.ROLLBACK();
    }









    【附件:】
    1,XML格式展示结果数据:
    语句1:
    ========================================================
    SELECT * FROM USERS FOR XML RAW
    语句2:
    ========================================================
    SELECT * FROM USERS FOR XML RAW, ELEMENTS
    语句3:
    ========================================================
    SELECT * FROM USERS FOR XML AUTO

    2,存储xml流程
    2.1:创建存储xml的表
    语句4:
    ========================================================
    CREATE TABLE XML_L
    (
    XID INT NOT NULL PRIMARY KEY,
    XDOC XML NOT NULL
    )

    INSERT INTO XML_L VALUES(1, '<USERS><USER><ID>1</ID><NAME>L</NAME></USER></USERS>')

    SELECT * FROM XML_L

  • 相关阅读:
    Struts2拦截器
    struts2介绍
    java读写文件大全
    Intent的详细解析以及用法
    sigmoid和softmax的应用意义区别
    C 实现 创建多个txt文件,并以自然数列命名,然后将产生的十进制数据写入txt文档
    k-means原理和python代码实现
    非极大值抑制 NMS
    JetSonNano darknet yolov3工程通过CMakeLists.txt配置编译环境
    C文件 CMakeList.txt编译器配置错误的问题 error:invalid conversion from 'int' to 'LAYER_TYPE' [-fpermissive]....
  • 原文地址:https://www.cnblogs.com/namedL/p/8204562.html
Copyright © 2020-2023  润新知