第12章事务管理

第12章事务管理

ID:20962578

大小:1.38 MB

页数:45页

时间:2018-10-18

第12章事务管理_第1页
第12章事务管理_第2页
第12章事务管理_第3页
第12章事务管理_第4页
第12章事务管理_第5页
资源描述:

《第12章事务管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SQLServer2005实用教程第12章事务管理清华大学出版社北京交通大学出版社教学目标理解事务的概念和特点1理解各种事务模式的特点并掌握其使用方法2理解兵法和锁的概念3理解各种事务隔离级别的特点及使用方法4理解死锁产生的原因5第12章事务管理2SQLServer2005实用教程12.1事务的概念1.事务的定义2.事务的状态3.事务的特性第12章事务管理3SQLServer2005实用教程12.2定义事务12.2.1自动提交事务例12-1创建一个表,使用自动提交事务模式向表中插入违反约束的记录,观察数据插入操作的结果,并分析自动提交事务模式的特点。第12章事务管理4SQLServer2

2、005实用教程12.2定义事务12.2.2显示事务1.定义显示事务的语句2.捕获错误的语句例12-2将向表中插入三行数据的操作放在一个显示事务中执行,观察执行的结果。第12章事务管理5SQLServer2005实用教程12.2定义事务12.2.3隐式事务例12-3使用隐式事务模式,首先创建一个表TempTable2,向表中插入记录,显示插入操作的结果。第12章事务管理6SQLServer2005实用教程12.2定义事务12.2.4嵌套事务例12-4下面的例子使用事务的嵌套。在外层事务中创建了一个表格,在内层嵌套的事务中向该表中插入数据。内层事务和外层事务分别被提交。例12-5在下面的事务

3、嵌套的例子中,提交内层事务,但撤消外层事务。例12-6在下面的事务嵌套的例子中,回滚内层事务,但提交外层事务。第12章事务管理7SQLServer2005实用教程12.3管理事务隔离12.3.1锁1.并发操作产生的问题2.封锁技术第12章事务管理8SQLServer2005实用教程12.3管理事务隔离12.3.2事务隔离级别1.使用已提交读隔离级别例12-7使用已提交读隔离级别。2.使用已提交读快照隔离级别例12-8使用已提交读快照隔离级别。3.使用快照隔离级别例12-9使用快照隔离级别。4.使用可重复读隔离级别例12-10使用可重复读隔离级别。5.使用可序列化隔离级别例12-11使用可

4、序列化隔离级别。第12章事务管理9SQLServer2005实用教程12.3管理事务隔离12.3.3死锁例12-12在下面的例子中,构造一个死锁的情形,并观察到SQLServer选择一个事务作为牺牲品。第12章事务管理10SQLServer2005实用教程返回例12-1创建一个表,使用自动提交事务模式向表中插入违反约束的记录,观察数据插入操作的结果,并分析自动提交事务模式的特点。步骤1使用CREATETABLE语句来创建一个数据表TempTable1,通过在该数据表中插入数据来检验事务的行为。USEBlueSkyDBGOCREATETABLETempTable1(idintNOTNULL

5、PRIMARYKEY,col1char(20)NOTNULL,col2int)GO步骤2第12章事务管理11SQLServer2005实用教程返回步骤2在查询编辑器窗口中输入以下三个INSERT语句,在表TempTable1中插入三条记录。INSERTINTOTempTable1VALUES(1,'Firstrow',111)GOINSERTINTOTempTable1VALUES(2,NULL,222)GOINSERTINTOTempTable1VALUES(3,'Thirdrow',333)GO执行以上三个INSERT语句,因为第二个INSERT语句向列col1中插入NULL,而该列

6、被定义为不允许空,所以提示错误消息,如图12-2所示。步骤3第12章事务管理12SQLServer2005实用教程返回步骤3输入并执行以下SELECT语句,检查记录是否已成功插入到表TempTable1中。SELECT*FROMTempTable1GO第12章事务管理13SQLServer2005实用教程返回例12-2将向表中插入三行数据的操作放在一个显示事务中执行,观察执行的结果。步骤1在查询编辑器中输入并执行以下Transact-SQL语句。USEBlueSkyDBTRUNCATETABLETempTable1GOBEGINTRYBEGINTRANSACTIONINSERTINTOT

7、empTable1VALUES(1,'Firstrow',111)INSERTINTOTempTable1VALUES(2,NULL,222)INSERTINTOTempTable1VALUES(3,'Thirdrow',333)COMMITTRANSACTIONENDTRYBEGINCATCHSELECTERROR_NUMBER()ASErrorNumber,ERROR_SEVERITY()ASErrorSeverity,ERRO

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。