事务:更多的是一种处理机制(同生共死)

事务是对增删改而言的(因为她们会改变数据)

事务是对多条语句而言,多个sql语句组成,整体执行

事务的4个特点叫做ACID:分别为:

1,A:原子性->事务不可以再分(意思是事务里的所有sql语句,要同时执行)

2,C:一致性-> 事务在操作后,表的数据需要保持莫种程度的一致性(sql语句操作后,要么都成功,要么都失败)

3,I:隔离->事务是单独执行的,一个事务与其它的事务隔离,没有关系

4,D:持久性->但事务成功提交,那么对数据表的影响永久保留

事务的创建:

1,开启事务:begin transation

2,提交事务:commit transation

3,回滚事务:rollback transaction

注意:事务一旦开启,就必须提交或回滚

如果没有提交或回滚,那么你再次去访问数据表,就打不开数据了

Eg:

Declare @error int=0//创建变量,记录错误信息 0为正确

begin transaction//开启事务

update bank set cmoney-=1000 where name=’aa’

Set @error=@error+@@error

update bank set cmoney+=1000 where name=’bb’

Set @error=@error+@@error

If(@error<>0)//如果error不等于0,说明有错误

rollback transaction //回滚

else

commit transaction//提交

在VS中使用事务:步骤

String conStr=”server=.;user id=sa;pwd=123;database=MySchoolMoreData”;

Using(SqlConnection conn=new SqlConnection(conStr))

{

//创建事务,不能new,conn点方法begTransaction()

SqlTansaction st=null;

Try{

Conn.open();//打开通道

st=conn.begTransaction();

String sql1=“update bank set cmoney-=1000 where name=’aa’”;

String sql2=“update bank set cmoney+=1000 where name=’bb’”;

//告诉服务器使用事务机制进行处理

SqlCommand comm=new SqlCommand(sql2,conn,st);

comm.ExecuteNonQuery();

Console.WriteLine(“ok1”);

comm.commandText=sql1;

comm.ExecuteNonQuery();

Console.WriteLine(“ok2”);

//都Ok的话,就提交事务了

st.Commit();

Console.ReadKey();

}

Catch(Exception ex)//到了这里 说明sql语句有错

{

Conson.WriteLine(ex.Message);

st.RollBack();//回滚

Conson.ReadKey();

}

}

Sql Server数据库--》事务的更多相关文章

  1. SQL Server数据库事务日志序列号(LSN)介绍

    原文:http://blog.csdn.net/tjvictor/article/details/5251463     日志序列编号(LSN)是事务日志里面每条记录的编号. 当你执行一次备份时,一些 ...

  2. SQL Server数据库事务日志存储序列

    原文 原文:http://blog.csdn.net/tjvictor/article/details/5251351   如果你的数据库运行在完整或是批量日志恢复模式下,那么你就需要使用作业(job ...

  3. SQL Server数据库镜像的页面自动修复原理

    SQL Server数据库镜像的页面自动修复原理 主库页面损坏 镜像库页面损坏 LSN用来保证事务的时序 LSN保存在每个数据页面的页头 在同一台机器,内存中的数据页和磁盘中的数据页保持同步依靠的是数 ...

  4. Sql Server数据库备份和恢复:原理篇

    本文与您探讨为什么Sql Server有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的Sql ...

  5. SQL Server 数据库分离与附加

    一.概述 SQL Server提供了“分离/附加”数据库.“备份/还原”数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即 ...

  6. SQL Server中事务、锁定和阻塞

    事务是什么 在SQL Server中事务是构成一个工作逻辑单元的一系列任务,也就说多个任务放在一起执行,这些任务要么全部执行成功,要么全部执行失败. 通过事务我们可以保证数据的完整性,例如:用户A给用 ...

  7. SQL SERVER 数据库备份的三种策略及语句

    1.全量数据备份    备份整个数据库,恢复时恢复所有.优点是简单,缺点是数据量太大,非常耗时 全数据库备份因为容易实施,被许多系统优先采用.在一天或一周中预定的时间进行全数据库备份使你不用动什么脑筋 ...

  8. SQL Server数据库性能优化之SQL语句篇【转】

    SQL Server数据库性能优化之SQL语句篇http://www.blogjava.net/allen-zhe/archive/2010/07/23/326927.html 近期项目需要, 做了一 ...

  9. SQL Server提高事务复制效率优化(一)总体概述

      随着公司业务的发展,数据量增长迅速,在解决Scale Out的同时,还要考虑到主从的复制延迟问题,尽量降到1s以内满足线上业务,如果不调整,SQL Server默认的配置可能平均要3s左右.生产的 ...

  10. 5、SQL Server数据库、T-SQL

    SQL Server数据库基础 一.安装SQL Server数据库 setup.exe->安装->全新SQL Server独立安装或向现有安装添加功能->输入序列号->下一步- ...

随机推荐

  1. Python学习入门基础教程(learning Python)--8.1 字典数据添加与删除

             1. 字典数据添加 这个很简单,像赋值那样一项项赋值即可.语法结构如下 dict_obj[key] = value 添加数据项示例如下 >>> d1 = {'cod ...

  2. 使用Oracle安装账户登录数据库

    如果Linux或Unix平台,安装了Oracle,而且有root账号,则使用“su Oracle安装账户”的方式,sqlplus登录到数据库,这种方式是最可靠的.正如@dbsnake所说,”主要是Or ...

  3. 热烈祝贺Polymer中文组织站点上线

    欢迎来到前端世界的明天 由于官网被墙, 所以 http://docs.polymerchina.org/ 其实是一件很有意义的事. 组件化和重用,一直是编程界几十年来前进的方向和目标,随着时间的推移和 ...

  4. 【dfs or 最短路】【HDU1224】【Free DIY Tour】

    路径只能由小序号到大序号..(起点可以视为最小的序号和最大的序号) 问怎么走 happy值最大.. DFS N=100 且只能小序号到大序号 显然dfs可以过.. 但是存路径的时候sb了.....应该 ...

  5. error: undefined reference to `XXX::XXX(type1, ypte2)

    moc_fortunethread.cpp:100: error: undefined reference to `FortuneThread::GetToParentThread(QString, ...

  6. 新炬学院OCM讲师《Oracle核心技术》译作面世

    对于数据库爱好者来讲,Oracle是最值得研究的数据库.学习Oracle数据库时,一本好书的引导和启发是非常必要的,毫无疑问,<Oracle核心技术>就是这样一本好书. <Oracl ...

  7. 删除数组中等于某个key的所有元素

    题目描述: 给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度. 这道题目做暴力的想法就是,用一个指针从头到尾遍历,删除哪个元素就把后面的元素统一向前移动一个位置.但是这样的时间复杂度很 ...

  8. Servlet 浅谈(二)

    如何获取初始化参数 容器在初始化的时候,会为了这个Servlet创建一个唯一的ServletConfig,容器会从DD读出Servlet的初始化参数,并把这个参数交给ServletConfig,然后S ...

  9. 如何对MySQL 对于大表(千万级)进行优化

    如何对Mysql中的大型表进行优化 @(mysql 笔记) 收集信息 1.数据的容量:1-3年内会大概多少条数据,每条数据大概多少字节: 2.数据项:是否有大字段,那些字段的值是否经常被更新: 3.数 ...

  10. aspnetpager分页,不使用存储过程

    一.前台显示界面代码Default.aspx(注意,代码运行环境是VS.2005) <%@ Page Language="C#" AutoEventWireup=" ...