功能光标在名称上.pptVIP

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
功能光标在名称上

第11章 SQL Server程序设计 ;学习目标: 通过本章学习,你能够学会: 在进行SQL Server程序设计时涉及的批处理、事务、局部变量、全局变量的概念及使用方法 在进行SQL Server程序设计时涉及到的程序控制语句的使用方法 在进行SQL Server程序设计时还会用到游标,在本章中还可以学到游标的使用方法 在进行SQL Server程序设计时为使编程简洁清晰还会用到用户自定义函数,在本章将会学到用户如何定义自己的函数;11.1程序注释语句 ; 在程序设计的过程中,注释语句的主要作用是帮助他人了解程序的具体内容,同时也便于我们对程序结构有所了解和掌握。试想如果你编了一段100行左右的程序,如果一个月后在来浏览,在没有注释的情况下,即使记忆力再好的程序员,也得花一番功夫才能把这段程序侧底弄清楚。因此经常书写程序注释语句是一种非常好的编程习惯。;[实例11.1]下面是一个关于创建学生表的程序,请大家注意注释语句的书写 操作步骤: 通过开始菜单打开查询分析器。 在查询分析器的编辑窗口输入程序设计语句,如下图所示;批处理是一个以GO为结束标志的SQL语句组。批中的所有SQL语句作为一个整体编译成一个执行单元后一次提交给SQL Server服务器执行。有多个批时,系统按批地顺序依次执行。;[实例11.2]使用批处理选择Pubs数据库,然后创建一个视图,最后使用视图进行查询。 操作步骤: 通过开始菜单打开查询分析器。 在查询分析器中输入如下语句 执行结果如图11.2所示;;由上面的例子可以看出来,所有的批处理命令都使用GO作为结束标志。当编译器读到GO时,它就会把GO前面所有的语句当作一个批处理,而打包成一个数据包发送到服务器。GO本身并不是Transact-SQL语句组部分,它只是一个用于表示批处理结束的前端指令。当有多个批时,系统按批地顺序依次执行,关于批中有如下几点需要注意: (1)一个批处理中若有多个存储过程,则从第二个存储过程开始,每个存储过程的前面都要加关键字EXECUTE 或EXEC. (2)一般地,一个CREATE语句必须独自占用一个批处理,且必须以CREATE语句开始。 (3)若使用ALTERTABLE语句修改表的结构,则不能在同一个批中引用新定义或修改的列。 ; 执行一个批时,若其中有一个语句出现编译错误,则SQL Server将取消该批内所有语句的执行。但若一个批通过了编译而在运行时出现错误,则批内发生错误之前的语句将被执行,发生错误的语句不被执行,发生错误之后的语句视具体情况可能被执行或不被执行。因此,对于仅执行了一部分的批,可能引起整个过程发生错误或产生数据垃圾。;为防止这类情况出现,可以在SQL Server编程中引入“事务”(将在下节讲到),将批处理放在一个事务中,并设置批处理发生错误时引发事务回滚,使所有尚未提交的操作都回滚到发生错误之前的状态。;事务是SQL Server的一个工作单元,事务通常以BEGIN TRANSACTION开始,以COMMIT TRANSACTION结束。如果在一个事务模块中有一个SQL语句执行失败或发生不该有的结果,可以通过设置回滚命令ROLLBACK TRANSACTION取消该语句导致的错误操作结果(例如取消已插入的数据或恢复已被修改的数据),使数据库恢复到该错误语句执行前的状态。;[实例11.3]利用事务在第4章中的学生库的学生信息表中插入两行数据,在插入第2行数据后回滚到两次插入数据之间,然后查询。 步骤: 启动“查询分析器”,输入SQL语句: 得到如下执行结果如图11.3所示 ;然后对“课程”表进行查询 ,执行结果如下,如图11.4所示。 ; 这个例子一共执行了两次插入操作,第一次操作完成后,设置了一个保存点,第二次插入操作执行完后,程序执行了事务回滚,使第二次的插入操作被取消,但是第一次插入操作依然有效,这样查询后就只能得到一行插入数据。 如果不设置保存点,则默认回滚整个事务,两次插入操作都将被取消。 ;;由上面的例子我们可以看出,建立一个事务包含四个语句,即开始事务、设置保存点、回滚事务、提交事务。 (1) 开始(或启动)一个事务单元。 命令格式: BEGIN TRANSACTION 单元名称 (2) 在事务中设置一个保存点。保存点的设置可以使得回滚事务语句回滚到该保存点,以便取消该事务中的部分操作对数据库所引起的变动。 命令格式: SAVE TRANSACTION 保存点名称;(3) 回滚一个事务单元。该语句用于取消事务中的部分或全部操作,使得这些操作对数据库所作的改动恢复为改动前的状态。 命令格式: ROLLBACK

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档