(4.3.2)--4.1.2事务数据库.ppt

上传人:奉*** 文档编号:83298334 上传时间:2023-03-30 格式:PPT 页数:16 大小:500.92KB
返回 下载 相关 举报
(4.3.2)--4.1.2事务数据库.ppt_第1页
第1页 / 共16页
(4.3.2)--4.1.2事务数据库.ppt_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《(4.3.2)--4.1.2事务数据库.ppt》由会员分享,可在线阅读,更多相关《(4.3.2)--4.1.2事务数据库.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库技术应用在线开放课程教学情境四 数据库编程 4.1.2 事务 数据库技术应用在线开放课程Course catalogue课程目录任务分析1知识技能 2任务实施3任务拓展4数据库技术应用在线开放课程任务分析任务分析任务实施任务实施任务拓展任务拓展任务分析任务分析知识技能知识技能任务任务4.1.2 4.1.2 事务事务子任务子任务1 1 银银行转账业务的实现行转账业务的实现数据库技术应用在线开放课程本 课 目 标理解事务的应用掌握事务的使用方法数据库技术应用在线开放课程Course catalogue课程目录任务分析1知识技能2任务实施3任务拓展4数据库技术应用在线开放课程知识技能知识技能任

2、务实施任务实施任务拓展任务拓展知识技能知识技能任任务分析务分析在在MySQLMySQL环境中,事务由作为一个单独单元的一个或多个环境中,事务由作为一个单独单元的一个或多个SQLSQL语句组成。这个语句组成。这个单元中的每个单元中的每个SQLSQL语句是互相依赖的,而且单元作为一个整体是不可分割的。如果语句是互相依赖的,而且单元作为一个整体是不可分割的。如果单元中的一个语句不能完成,整个单元就会回滚(撤销),所有影响到的数据将单元中的一个语句不能完成,整个单元就会回滚(撤销),所有影响到的数据将返回到事务开始以前的状态。因而,只有事务中的所有语句都成功地执行才能说返回到事务开始以前的状态。因而,

3、只有事务中的所有语句都成功地执行才能说这个事务被成功地执行。这个事务被成功地执行。数据库技术应用在线开放课程知识技能知识技能任务实施任务实施任务拓展任务拓展知识技能知识技能任任务分析务分析首先,用户必须关闭自动提交,事务才能由多条首先,用户必须关闭自动提交,事务才能由多条SQLSQL语句组成,使用如下语句:语句组成,使用如下语句:SETAUTOCOMMIT=0;(1 1)开始事务开始事务当一个应用程序的第一条当一个应用程序的第一条SQLSQL语句或者在语句或者在COMMITCOMMIT或或ROLLBACKROLLBACK语句(后面介语句(后面介绍)后的第一条绍)后的第一条SQLSQL执行后,一

4、个新的事务也就开始了。另外还可以使用一条执行后,一个新的事务也就开始了。另外还可以使用一条START START TRANSACTIONTRANSACTION语句来显示地启动一个事务。语句来显示地启动一个事务。语法格式:语法格式:STARTTRANSACTION|BEGINWORK(2 2)结束事务)结束事务COMMITCOMMIT语句是提交语句,它使得自从事务开始以来所执行的所有数据修语句是提交语句,它使得自从事务开始以来所执行的所有数据修改成为数据库的永久部分,也标志一个事务的结束,其语法格式为:改成为数据库的永久部分,也标志一个事务的结束,其语法格式为:COMMITWORK数据库技术应用

5、在线开放课程知识技能知识技能任务实施任务实施任务拓展任务拓展知识技能知识技能任任务分析务分析(3 3)撤)撤消事务消事务ROLLBACKROLLBACK语句是撤销语句,它撤销事务所做的修改,并结束当前事务。语句是撤销语句,它撤销事务所做的修改,并结束当前事务。语法格式:语法格式:ROLLBACKWORKANDNOCHAINNORELEASE(4 4)回滚事务)回滚事务除了撤销整个事务,用户还可以使用除了撤销整个事务,用户还可以使用ROLLBACK TOROLLBACK TO语句使事务回滚到某个点,语句使事务回滚到某个点,在这之前需要使用在这之前需要使用SAVEPOINTSAVEPOINT语句来

6、设置一个保存点。语句来设置一个保存点。SAVEPOINTSAVEPOINT语法格式为:语法格式为:SAVEPOINTidentifier其中,其中,identifieridentifier为保存点的名称。为保存点的名称。ROLLBACK TO SAVEPOINTROLLBACK TO SAVEPOINT语句会向已命名的保存点回滚一个事务。如果在保语句会向已命名的保存点回滚一个事务。如果在保存点被设置后,当前事务对数据进行了更改,则这些更改会在回滚中被撤销。存点被设置后,当前事务对数据进行了更改,则这些更改会在回滚中被撤销。语法格式为:语法格式为:ROLLBACKWORKTOSAVEPOINTi

7、dentifier 数据库技术应用在线开放课程知识技能知识技能任务实施任务实施任务拓展任务拓展知识技能知识技能任任务分析务分析下下面几个语句说明了有关事务的处理过程:面几个语句说明了有关事务的处理过程:1.STARTTRANSACTION2.UPDATE3.DELETE4.SAVEPOINTS1;5.DELETE6.ROLLBACKWORKTOSAVEPOINTS1;7.INSERT8.COMMITWORK;说明:在以上语句中,第一行语句开始了一个事务;第说明:在以上语句中,第一行语句开始了一个事务;第2 2、3 3行语句对数据进行了修行语句对数据进行了修改,但没有提交;第改,但没有提交;第4

8、 4行设置了一个保存点;第行设置了一个保存点;第5 5行删除了数据,但没有提交;第行删除了数据,但没有提交;第6 6行将事务回滚到保存点行将事务回滚到保存点S1S1,这时第,这时第5 5行所做修改被撤销了;第行所做修改被撤销了;第7 7行修改了数据;第行修改了数据;第8 8行结束了这个事务,这时第行结束了这个事务,这时第2 2、3 3、7 7行对数据库做的修改被持久化。行对数据库做的修改被持久化。数据库技术应用在线开放课程Course catalogue课程目录任务分析1知识技能2任务实施3任务拓展4数据库技术应用在线开放课程任务实施任务实施任务拓展任务拓展知识技能知识技能任务分析任务分析任务

9、实施任务实施子任务子任务1 1 银银行转账业务的实现行转账业务的实现结束事务余额不足,无法转账Money1Money1修改转入卡号的余额是否修改转出卡号的余额结束事务转账成功开始事务比较余额和交易金额的差值money转账的动画数据库技术应用在线开放课程任务实施任务实施任务拓展任务拓展知识技能知识技能任务分析任务分析任务实施任务实施子任务子任务1 1 银行转账业务的实现银行转账业务的实现SET SET AUTOCOMMIT=0;AUTOCOMMIT=0;DELIMITERDELIMITER$CREATE PROCEDURE CREATE PROCEDURE Transaccounts(Trans

10、accounts(ININ CardID1 CardID1 char(30)char(30),ININ CardID2 CardID2 char(30)char(30),IN IN transmoney transmoney DECIMAL(20,2)DECIMAL(20,2)BEGIN BEGIN DECLARE DECLARE money money INTINT;START TRANSACTION;START TRANSACTION;SELECTSELECT Balance-transmoney Balance-transmoney INTOINTO money money FROMFR

11、OM Cardinfo Cardinfo where where CardID=CardID1;CardID=CardID1;IFIF money1 money0;Balance-transmoney0;UPDATEUPDATE Cardinfo Cardinfo SET SET Balance=Balance+transmoney Balance=Balance+transmoney WHERE WHERE CardID2=CardID;CardID2=CardID;COMMIT;COMMIT;SELECT SELECT 转账成功转账成功 ASAS result;result;END IF;

12、END IF;END$END$DELIMITER DELIMITER;数据库技术应用在线开放课程任务实施任务实施任务拓展任务拓展知识技能知识技能任务分析任务分析任务实施任务实施测试:测试:CALL CALL Transaccounts(8217868401111824563,4217868401111820866,200);Transaccounts(8217868401111824563,4217868401111820866,200);SELECT SELECT*FROM FROM cardInfo;cardInfo;CALLCALL Transaccounts(4217868401111820866,8217868401111824563,900);Transaccounts(4217868401111820866,8217868401111824563,900);SELECT SELECT*FROM FROM cardInfo;cardInfo;数据库技术应用在线开放课程Course catalogue课程目录任务分析1知识技能2任务实施3任务拓展4数据库技术应用在线开放课程任务拓展任务拓展知识技能知识技能知识技能知识技能任务分析任务分析任务实施任务实施任务拓展任务拓展员工管理数据员工管理数据库事务的应用。库事务的应用。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁