《函数游标过称》PPT课件

《函数游标过称》PPT课件

ID:38897985

大小:1.26 MB

页数:70页

时间:2019-06-21

《函数游标过称》PPT课件_第1页
《函数游标过称》PPT课件_第2页
《函数游标过称》PPT课件_第3页
《函数游标过称》PPT课件_第4页
《函数游标过称》PPT课件_第5页
资源描述:

《《函数游标过称》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章SQLServer程序设计11.1程序注释语句11.2批处理11.3事务11.4变量11.5程序控制语句11.6游标11.7用户自定义函数11.8本章总结学习目标:通过本章学习,你能够学会:在进行SQLServer程序设计时涉及的批处理、事务、局部变量、全局变量的概念及使用方法在进行SQLServer程序设计时涉及到的程序控制语句的使用方法在进行SQLServer程序设计时还会用到游标,在本章中还可以学到游标的使用方法在进行SQLServer程序设计时为使编程简洁清晰还会用到用户自定义函数,在本章将会学到用户如何定义自己的函数11.1程序注释语句前面介

2、绍的Transact-SQL语句以及一些编程的方法和技巧在处理一些简单的查询和实际应用时还可以完全胜任,但是,在有些时候,这些工具无法满足一些特殊要求,例如,要实现与用户的交互操作等。那么,了解和掌握如何使用Transact-SQL语句进行程序设计是非常必要的。在程序设计的过程中,注释语句的主要作用是帮助他人了解程序的具体内容,同时也便于我们对程序结构有所了解和掌握。试想如果你编了一段100行左右的程序,如果一个月后在来浏览,在没有注释的情况下,即使记忆力再好的程序员,也得花一番功夫才能把这段程序侧底弄清楚。因此经常书写程序注释语句是一种非常好的编程习惯。[实

3、例11.1]下面是一个关于创建学生表的程序,请大家注意注释语句的书写操作步骤:通过开始菜单打开查询分析器。在查询分析器的编辑窗口输入程序设计语句,如下图所示批处理是一个以GO为结束标志的SQL语句组。批中的所有SQL语句作为一个整体编译成一个执行单元后一次提交给SQLServer服务器执行。有多个批时,系统按批地顺序依次执行。11.2批处理[实例11.2]使用批处理选择Pubs数据库,然后创建一个视图,最后使用视图进行查询。操作步骤:通过开始菜单打开查询分析器。在查询分析器中输入如下语句执行结果如图11.2所示图11.2批处理执行结果由上面的例子可以看出来,所

4、有的批处理命令都使用GO作为结束标志。当编译器读到GO时,它就会把GO前面所有的语句当作一个批处理,而打包成一个数据包发送到服务器。GO本身并不是Transact-SQL语句组部分,它只是一个用于表示批处理结束的前端指令。当有多个批时,系统按批地顺序依次执行,关于批中有如下几点需要注意:(1)一个批处理中若有多个存储过程,则从第二个存储过程开始,每个存储过程的前面都要加关键字EXECUTE或EXEC.(2)一般地,一个CREATE语句必须独自占用一个批处理,且必须以CREATE语句开始。(3)若使用ALTERTABLE语句修改表的结构,则不能在同一个批中引用新

5、定义或修改的列。执行一个批时,若其中有一个语句出现编译错误,则SQLServer将取消该批内所有语句的执行。但若一个批通过了编译而在运行时出现错误,则批内发生错误之前的语句将被执行,发生错误的语句不被执行,发生错误之后的语句视具体情况可能被执行或不被执行。因此,对于仅执行了一部分的批,可能引起整个过程发生错误或产生数据垃圾。为防止这类情况出现,可以在SQLServer编程中引入“事务”(将在下节讲到),将批处理放在一个事务中,并设置批处理发生错误时引发事务回滚,使所有尚未提交的操作都回滚到发生错误之前的状态。事务是SQLServer的一个工作单元,事务通常以B

6、EGINTRANSACTION开始,以COMMITTRANSACTION结束。如果在一个事务模块中有一个SQL语句执行失败或发生不该有的结果,可以通过设置回滚命令ROLLBACKTRANSACTION取消该语句导致的错误操作结果(例如取消已插入的数据或恢复已被修改的数据),使数据库恢复到该错误语句执行前的状态。11.3事务[实例11.3]利用事务在第4章中的学生库的学生信息表中插入两行数据,在插入第2行数据后回滚到两次插入数据之间,然后查询。步骤:启动“查询分析器”,输入SQL语句:得到如下执行结果如图11.3所示11.3利用事务执行语句然后对“课程”表进行查

7、询,执行结果如下,如图11.4所示。图11.4事务执行后的查询结果这个例子一共执行了两次插入操作,第一次操作完成后,设置了一个保存点,第二次插入操作执行完后,程序执行了事务回滚,使第二次的插入操作被取消,但是第一次插入操作依然有效,这样查询后就只能得到一行插入数据。如果不设置保存点,则默认回滚整个事务,两次插入操作都将被取消。从上面的例子也可以看出,在一个事务中可以包含多个批处理,当然一个批处理也可以包含多个事务。两者的区别是,批语句的组合发生在编译阶段,而事务语句的组合发生在执行阶段。一个批若在编译阶段发生语法错误,则在运行阶段整个批都不能执行。若编译通过而

8、在运行时发生错误,如违反主键惟一性约束

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

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

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