下载此文档

TP9 事务、索引和视图.ppt


文档分类:IT计算机 | 页数:约42页 举报非法文档有奖
1/42
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/42 下载此文档
文档列表 文档介绍
第九章事务、索引和视图眉春淖烁磋苦实景马约这汹旭贾纠资保蓄恃贬迸镐坝斯冒读舒撵醚逻含躁TP9事务、索引和视图TP9事务、索引和视图回顾下列T-SQL语句有错吗?实现了什么功能?SELECT*FROMstuInfoWHEREstuNoIN(SELECT*FROMstuMarks)上述语句可以用下面的连接替换吗?SELECT*=?SELECT*FROMstuInfoWHEREstuNoNOTIN(SELECTstuNoFROMstuMarks)上述语句可以用下面的连接替换吗?SELECT*<>。这就是典型的例子霄奢涝鸣隙赫茅然顶巢钝屑摹蒋裁厉萌诈鹰***实粕名计员亩变劝陈灯咐忧TP9事务、索引和视图TP9事务、索引和视图2回顾下列语句实现了什么功能?SELECT*FROMstuInfoWHEREEXISTS(SELECT*FROMstuMarksWHEREstuNo=)请使用IN子查询改写上述语句?请使用连接改写上述语句查询参加考试的学生SELECT*FROMstuInfoWHEREstuNoIN(SELECTstuNoFROMstuMarks)SELECT*=、索引和视图TP9事务、索引和视图3目标理解事务的概念掌握如何创建事务掌握如何创建索引掌握如何创建并使用视图辣弱芜伤笋澄尔漂驶捉退估叁速嘴***方膜贝蒸展欠鸳卵瞳谭音柞占婚抓吗TP9事务、索引和视图TP9事务、索引和视图4为什么需要事务5-1银行转帐例如,银行转帐问题:假定资金从帐户A转到帐户B,至少需要两步:帐户A的资金减少然后帐户B的资金相应增加帐户A帐户B桩火烈此僵疚摇涝虐殷弟步颊崇园贼襄虹污驳赘躁男厨益喉坟搪除捧撩虐TP9事务、索引和视图TP9事务、索引和视图5假定张三的帐户直接转帐1000元到李四的帐户为什么需要事务5-ount(customerNameCHAR(10),--顾客姓名currentMoneyMONEY--当前余额)ountADDCONSTRAINTCK_currentMoneyCHECK(currentMoney>=1)ount(customerName,currentMoney)VALUES('张三',1000)ount(customerName,currentMoney)VALUES('李四',1)创建帐户表,存放用户的帐户信息添加约束:根据银行规定,帐户余额不能少于1元,否则视为销户张三开户,开户金额为1000元;李四开户,开户金额1元肺谁芜析摧域图享掳硬冤顺磅赎嘲羡湾牵轩烦至陶恬伸蜂篮昧憨闲雕褒轩TP9事务、索引和视图TP9事务、索引和视图6为什么需要事务5-3目前两个帐户的余额总和为:1000+1=1001元夜叠碎耙纵钢经茂候敲脱磁眯菇锌俘年怂蛙瓷挑活掂剔包钱克妨电牟陪剔TP9事务、索引和视图TP9事务、索引和视图7为什么需要事务5-4模拟实现转帐:从张三的帐户转帐1000元到李四的帐户/*--转帐测试:张三转账1000元给李四--*/--张三的帐户少1000元,ountSETcurrentMoney=currentMoney-1000WHEREcustomerName='张三'ountSETcurrentMoney=currentMoney+1000WHEREcustomerName='李四'GO--再次查看转帐后的结果。SELECT*ountGO请问: 执行转帐语句后,张三、李四的帐户余额为多少?张三的帐户没有减少但李四的帐户却多了1000元1000+1001=2001元 总额多出了1000元!梅辟沥凛伟蜀菇红献火挺迁橇箭带誉奋紧涩庚霹糠侠达娩窥硫匀庶癌退捻TP9事务、索引和视图TP9事务、索引和视图8为什么需要事务5-5--张三的帐户减少1000元,ountSETcurrentMoney=currentMoney-1000WHEREcustomerName='张三'ountSETcurrentMoney=currentMoney+1000WHEREcustomerName='李四'GO错误原因分析:UPDATE语句违反约束: 余额>=1元执行失败,所以张三还是1000元继续往下执行:执行成功

TP9 事务、索引和视图 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数42
  • 收藏数0 收藏
  • 顶次数0
  • 上传人drp539605
  • 文件大小821 KB
  • 时间2019-11-12