- 1、本文档共87页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[第八章-第九章newTransact-SQL程序设计
本章主要内容 7.6 存储过程 7.6 存储过程 (5) 使体现企业规则的运算程序放入数据库服务器中,以便: ● 集中控制。 ● 当企业规则发生变化时在服务器中改变存储过程即可,无须修改任何应用程序。企业规则的特点是要经常变化,如果把体现企业规则的运算程序放入应用程序中,则当企业规则发生变化时,就需要修改应用程序工作量非常之大(修改、发行和安装应用程序)。如果把体现企业规则的 运算放入存储过程中,则当企业规则发生变化时,只要修改存储过程就可以了,应用程序无须任何变化。 【例7-14】把例7-13中定义的SelectCoursecur游标中的数据按行读出并显示出来。 USE CollegeMIS GO DECLARE @XH char(9),@JSH Char(6) DECLARE @KCH char(4),@CJ tinyint DECLARE GoodScorecur CURSOR LOCAL SCROLL FOR SELECT * FROM SelectCourse WHERE Score=90 OPEN GoodScorecur PRINT 学号 + +教师号+ +课程号+ +成绩 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. FETCH NEXT FROM GoodScorecur INTO @XH,@JSH,@KCH,@CJ WHILE @@FETCH_STATUS=0 BEGIN PRINT @XH+ +@JSH+ +@KCH+ +CONVERT(char(3),@CJ) FETCH NEXT FROM GoodScorecur INTO @XH,@JSH,@KCH,@CJ END CLOSE GoodScorecur DEALLOCATE GoodScorecur GO Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 7.5 游标及其使用 7.5.3 游标的使用 2.使用游标修改数据 若要用游标对基础表的数据行进行更新操作,需要在申明游标时使用UPDATE关键字。用游标修改数据时,须使用“WHERE CURRENT OF 游标名”来定位要修改的数据行,修改完毕后,游标基础表中相应的数据行同样会得到修改。 【例7-15】给数据表CollegeMIS的声明一个可更新的游标,游标的数据为SelectCourse表中成绩大于等于90分的记录,并限定可以更新的字段为Score。然后将该字段的值减1。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. USE CollegeMIS GO DECLARE @XH char(9),@JSH Char(6) DECLARE @KCH char(4),@CJ tinyint DECLARE GoodScorecur CURSOR LOCAL SCROLL FOR SELECT * FROM SelectCourse WHERE Score=90 FOR UPDATE OF Score OPEN GoodScorecur FETCH NEXT FROM GoodScorecur INTO @XH,@JSH,@KCH,@CJ WHILE @@FETCH_STATUS=0 BEGIN UPDATE SelectCourse SET Score=Score-1 /*根据游标修改表中的数据*/ WHERE CURRENT OF GoodScorecur /*定位在修改的数据行*/ FETCH NEXT FROM GoodScorecur INTO @XH,@JSH,@KCH,@CJ END CLOSE GoodScorecur DEALLOCATE GoodScorecur SELECT * /*显示修改后的表
文档评论(0)