欢迎来到天天文库
浏览记录
ID:40568453
大小:98.00 KB
页数:6页
时间:2019-08-04
《Sql基础代码 第八章 事物》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Sql基础代码目录第一章建库建表21.1数据库的应用21.1.1创建数据库21.1.2查询数据库31.1.3删除数据库31.2表的运用41.2.1创建表41.2.2删除表51.3约束61.3.1五种约束61.3.2约束的使用6第二章数据查询82.1建表和插入数据82.1.1建立学生信息表82.1.2插入信息92.2查询运用112.2.1数据查询112.2.2单表查询122.2.3连接查询132.2.4操作结果集查询182.2.5嵌套查询182.3数据库更新19第三章函数193.1五种函数的运用193.1.1字符串函数203.1.2数学函数213.1.3日期
2、函数223.1.4系统函数233.1.5聚合函数24第四章变量254.1局部变量264.2全局变量27第五章循环语句305.1统计平均成绩305.2提分315.3根据成绩显示等级35第六章存储过程366.1存储过程的应用366.1.1系统存储过程366.1.2Sp_helptext的使用406.1.3创建存储过程416.2raiserror语句的应用45第七章exists子查询467.1exists子查询的应用467.2求银行利息497.3变量查询517.4查询考试通过情况537.5循环提分557.6通过率57第八章事物588.1使用事物解决银行转账59第
3、九章触发器609.1检测触发器629.2创建触发器629.3触发器delete运用649.4触发器update运用659.5触发器禁止修改运用66第八章事物ifexists(select*frombank)droptablebankcreatetablebank(customernamechar(10),--顾客姓名currentmoneymoney)--当前余额goaltertablebankaddconstraintck_currentmoneycheck(currentmoney>=1)goinsertintobank(customername,cu
4、rrentmoney)values('张三',1000)insertintobank(customername,currentmoney)values('李四',1)--模以实现转账:从张三的站内过户转账元到李四的账户/*转账测试:张三转账元给李四--我们可能会这样编写语句--张三的账户少元,李四的账户多元*/updatebanksetcurrentmoney=currentmoney-1000wherecustomername='张三'updatebanksetcurrentmoney=currentmoney+1000wherecustomername
5、='李四'go--再次查看转账的结果select*frombankgo--经查询显示,以上结果错误,,违反约束,没有一起执行,李四多了元,可张三没有少钱8.1使用事物解决银行转账print'转账前的信息'select*frombankbegintransaction--定义变量,用于累计事物执行过程中的错误declare@errorsumintset@errorsum=0--初始化为,既无错误--张三的账户少元,李四的账户多元updatebanksetcurrentmoney=currentmoney-800wherecustomername='张三'se
6、t@errorsum=@errorsum+@@error--累计是否有错误updatebanksetcurrentmoney=currentmoney+800wherecustomername='李四'set@errorsum=@errorsum+@@errorif@errorsum<>0--如果有错误根据是否有错误,确定事物是提交还是撤销beginprint'交易失败,回滚事物'rollbacktransaction--如果有错,则回滚操作,事物结束endelsebeginprint'交易成功,提交事物,写入硬盘,永久的保存'committransact
7、ion--如果成功,则提交操作,事物结束endgoprint'查看转账事物后的余额'select*frombankgo
此文档下载收益归作者所有