资源描述:
《数据库实验六:游标的使用.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数据库实验六:游标的使用一、实验目的与要求:1.实验目的(1)理解SQL的宿主使用方式。(2)掌握游标的使用方法。2.实验要求(1)参考例7-3建立一个嵌套游标应用,其功能是按学号升序列出全体学生信息(学号、姓名、院系名称)及其所修课程的名称和考试成绩信息(基于前面实验建立的表和插入的数据)(2)按要求逐一读出游标中的记录,并在界面上显示。(3)可以交互对记录进行修改。二、实验内容1、实验原理(1)定义游标的SQL语句的一般格式是:DECLARE<游标名>[INSENSITIVE][SCROLL]
2、CURSORFOR
3、UPDATE[OF<列名>[,<列名>…]]}](2)打开游标的SQL语句的一般格式是:OPEN<游标名>(3)从游标中读记录的SQL语句的一般格式是:FETCH[[NEXT
4、PRIOR
5、FIRST
6、LAST
7、ABSOLUTEn
8、RELATIVEn]FROM]<游标名>[INTO:<主变量1>,:<主变量2>…](4)关闭游标的SQL语句的一般格式是:CLOSE<游标名>(5)释放游标DEALLOCATE<游标名>(6)使用游标
9、的UPDATE命令的格式是:UPDATE<表名>SET<列名>={<表达式>
10、NULL}[,<列名>={<表达式>
11、NULL}…]WHERECURRENTOF<游标名>(7)使用游标的DELETE命令的格式是:DELETEFROM<表名>WHERECURRENTOF<游标名>2、实验步骤与结果(1)调出SQLServer2005软件的用户界面,进入SQLSERVERMANAGEMENTSTUDIO。(2)输入自己编好的程序。(3)检查已输入的程序正确与否。(4)运行程序,并分析运行结果是否合理和正
12、确。在运行时要注意当输入不同的数据时所得到的结果是否正确。(5)输出程序清单和运行结果。(1)参考例7-3建立一个嵌套游标应用,其功能是按学号升序列出全体学生信息(学号、姓名、院系名称)及其所修课程的名称和考试成绩信息(基于前面实验建立的表和插入的数据)(2)按要求逐一读出游标中的记录,并在界面上显示。(3)可以交互对记录进行修改。代码及截图:declare@xuehaochar(10),@xingmingchar(10),@yuanxichar(10)declare@kechengchar(10
13、),@chengjismallintdeclarexuesheng_cursorcursorforselect学号,姓名,院系from学生openxuesheng_cursorfetchfromxuesheng_cursorinto@xuehao,@xingming,@yuanxiwhile@@FETCH_STATUS=0beginprint'学号:'+@xuehao+'姓名:'+@xingming+'院系:'+@yuanxideclarekecheng_cursorcursorforselect
14、课程名称,成绩from选课,课程where选课.学号=@xuehaoand课程.课程编号=选课.课程编号openkecheng_cursorfetchfromkecheng_cursorinto@kecheng,@chengjiwhile@@FETCH_STATUS=0beginprint@xingming+'的选课是:'+@kecheng+'成绩是:'+str(@chengji)print''fetchfromkecheng_cursorinto@kecheng,@chengjiendclose
15、kecheng_cursordeallocatekecheng_cursorfetchfromxuesheng_cursorinto@xuehao,@xingming,@yuanxiendclosexuesheng_cursordeallocatexuesheng_cursordeclare@AVGMsmallint,@StuNumsmallintdeclareAVGMcursorforselect学号,平均成绩from学生openAVGMfetchfromAVGMinto@StuNum,@AVG
16、Mwhile@@FETCH_STATUS=0beginif@AVGM<60beginupdate学生set平均成绩=59where学号=@StuNumprint'修改了一名学生的成绩'endfetchfromAVGMinto@StuNum,@AVGMendcloseAVGMdeallocateAVGM三、实验分析与小结:(实验过程中的问题分析、产生的原因以及解决方法;实验结果分析;有待优化思路)1、实验过程中的问题分析、产生的原因以及解决方法。2、实验结果分析;有待优化思路。在实验