数据库游标的设计.doc

数据库游标的设计.doc

ID:59355541

大小:60.50 KB

页数:6页

时间:2020-09-04

数据库游标的设计.doc_第1页
数据库游标的设计.doc_第2页
数据库游标的设计.doc_第3页
数据库游标的设计.doc_第4页
数据库游标的设计.doc_第5页
资源描述:

《数据库游标的设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验10:游标【实训目的】掌握游标的定义及使用【实训步骤及内容】1、游标包括以下两部分1)结果集(Resultset)2)游标位置(Cursorposition)Ø通过游标提供了对一个结果集进行逐行处理的能力Ø游标可以被看作一个表中的记录指针,该指针与某个查询结果相联系。Ø在某一时刻,该指针只指向一条记录,即游标是通过移动指向记录的指针来处理数据。2、@@FETCH_STATUS的值及描述值描述0FETCH语句成功-1FETCH语句失败或此行不在结果集中-2被提取的行不存在3、游标使用的步骤声明游标DECLAREcursor_nameCURSORFORselect_statement打开游标

2、OPENcursor_name取游标FETCHnextFROMcursor_name[INTO@variable_name]关闭游标CLOSEcursor_name释放游标DEALLOCATEcursor_name1、使用游标分行显示课程表(course)中的信息declarecur_coursecursorforselect*fromcourseopencur_coursefetchnextfromcur_coursewhile@@fetch_status=0beginfetchnextfromcur_course--游标位置下移endclosecur_coursedeallocatecu

3、r_course2、定义存储过程,输入学生学号返回学生选修课程的课程号,成绩。使用output输出参数保存输出数据。(提示:使用游标输出参数)createprocproc_01@sidchar(11),@cur_cid_scorecursorvaryingoutputasset@cur_cid_score=cursorforselectc_id,scorefromstu_scorewheres_id=@sidopen@cur_cid_scorego--调用DECLARE@MyCursorCURSOREXECproc_01'0702301102',@cur_cid_score=@MyCurso

4、rOUTPUTFETCHNEXTFROM@MyCursorWHILE(@@FETCH_STATUS=0)BEGINFETCHNEXTFROM@MyCursorENDCLOSE@MyCursorDEALLOCATE@MyCursor3、创建触发器tri_stu_ifno,实现删除stu_info表中不同班级多条记录的同时,更新班级表中的人数。(提示:嵌入游标)createtriggertri_cursoronstu_infofordeleteasdeclare@classidchar(8)declare@cur_stu_infocursorset@cur_stu_info=cursorfors

5、electclass_idfromdeletedopen@cur_stu_infofetchnextfrom@cur_stu_infointo@classidwhile@@fetch_status=0beginupdateclasssetclass_rs=class_rs-1whereclass_id=@classidfetchnextfrom@cur_stu_infointo@classidendclose@cur_stu_infodeallocate@cur_stu_infogoaltertablestu_scorenocheckconstraintfk_stu_score_stu_in

6、fodeletefromstu_infowheres_id='0702301101'ors_id='0702301102'altertablestu_scorewithcheckcheckconstraintfk_stu_score_stu_info1、创建如下员工表:IdTitleWage1助教25002讲师30003讲师30004副教授43005教授5000利用游标按以下条件调整工资①职称为助教增加300②职称为讲师增加500③职称为副教授增加800①职称为教授增加1000declarecur_salarycursorforselecttitlefromemployee_salaryde

7、clare@titlechar(10)opencur_salaryfetchnextfromcur_salaryinto@titlewhile@@fetch_status=0beginif@title='助教'beginupdateemployee_salarysetwage=wage+300wherecurrentofcur_salaryendelseif@title='讲师'beginupdateempl

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

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

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