第13章事务与锁 13.1事务 13.2锁
第13章 事务与锁 13.1 事务 13.2 锁
131事务 事务:是作为单个逻辑单元执行的一系列操 作,这一系列操作或者都被执行或者 都不被执行。 事务的属性 原子性:或者都被执行或者都不被执行 致性:事务完成时,所有数据保持一致 隔离性:不能看到事务的中间状态。 持久性:事务完成后对系统的影响是永久的
13.1 事务 一、事务:是作为单个逻辑单元执行的一系列操 作,这一系列操作或者都被执行或者 都不被执行。 二、事务的属性 原子性:或者都被执行或者都不被执行。 一致性:事务完成时,所有数据保持一致。 隔离性:不能看到事务的中间状态。 持久性:事务完成后对系统的影响是永久的
事务组织结构的一般形式 1、定义一个事务的开始 BEGIN TRANSACTION事务名 2、提交一个事务 COMMIT TRANSACTION事务名 3、回滚事务 ROLLABCK TRANSACTION事务名
三、事务组织结构的一般形式 1、定义一个事务的开始 BEGIN TRANSACTION 事务名 2、提交一个事务 COMMIT TRANSACTION 事务名 3、回滚事务 ROLLABCK TRANSACTION 事务名
例1:定义一事务向 Stucou表插入3条记录,并提交完成。 USE XK GO BEGIN TRANSACTION INSERT StuCou( StuNo, COuNo, WillOrder VALUES(0000253,001’,1) INSERT StuCou (StuNo, COuNo, Willorder) VALUES(000000253,”002,2 INSERT StuCou ( StuNo, COuNo, Willorder) VALUES(000000253,003,3) COMMIT TRANSACTION 测试: SELECT* FroM Stu Cou WHERE StuNo=00000025
例1:定义一事务向StuCou表插入3条记录,并提交完成。 USE Xk GO BEGIN TRANSACTION INSERT StuCou(StuNo,COuNo,WillOrder) VALUES ('00000025','001',1) INSERT StuCou(StuNo,COuNo,WillOrder) VALUES ('00000025','002',2) INSERT StuCou(StuNo,COuNo,WillOrder) VALUES ('00000025','003',3) COMMIT TRANSACTION 测试:SELECT * FROM StuCou WHERE StuNo='00000025
例2:定义一事务向 Stucou表插入3条记录,并回滚。 USE XK GO BEGIN TRANSACTION INSERT StuCou(StuNo, COuNo, Willorder) VALUES(00025,001’,1) INSERT StuCou(StuNo, COuNo, WillOrder) VALUES(025,”002,2) INSERT StuCou(StuNo, COuNo, WillOrder VALUES(000000253,”003,3) ROLLBACK TRANSACTION 测试: SELECT* froM StuCou WherE StuNo=20000025
例2:定义一事务向StuCou表插入3条记录,并回滚。 USE Xk GO BEGIN TRANSACTION INSERT StuCou(StuNo,COuNo,WillOrder) VALUES ('00000025','001',1) INSERT StuCou(StuNo,COuNo,WillOrder) VALUES ('00000025','002',2) INSERT StuCou(StuNo,COuNo,WillOrder) VALUES ('00000025','003',3) ROLLBACK TRANSACTION 测试:SELECT * FROM StuCou WHERE StuNo='00000025