資源描述:
《數(shù)據(jù)庫實驗六:游標的使用.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應用文檔-天天文庫。
1、數(shù)據(jù)庫實驗六:游標的使用一、實驗目的與要求:1.實驗目的(1)理解SQL的宿主使用方式。(2)掌握游標的使用方法。2.實驗要求(1)參考例7-3建立一個嵌套游標應用,其功能是按學號升序列出全體學生信息(學號、姓名、院系名稱)及其所修課程的名稱和考試成績信息(基于前面實驗建立的表和插入的數(shù)據(jù))(2)按要求逐一讀出游標中的記錄,并在界面上顯示。(3)可以交互對記錄進行修改。二、實驗內(nèi)容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)關(guān)閉游標的SQL語句的一般格式是:CLOSE<游標名>(5)釋放游標DEALLOCATE<游標名>(6)使用游標
9、的UPDATE命令的格式是:UPDATE<表名>SET<列名>={<表達式>
10、NULL}[,<列名>={<表達式>
11、NULL}…]WHERECURRENTOF<游標名>(7)使用游標的DELETE命令的格式是:DELETEFROM<表名>WHERECURRENTOF<游標名>2、實驗步驟與結(jié)果(1)調(diào)出SQLServer2005軟件的用戶界面,進入SQLSERVERMANAGEMENTSTUDIO。(2)輸入自己編好的程序。(3)檢查已輸入的程序正確與否。(4)運行程序,并分析運行結(jié)果是否合理和正
12、確。在運行時要注意當輸入不同的數(shù)據(jù)時所得到的結(jié)果是否正確。(5)輸出程序清單和運行結(jié)果。(1)參考例7-3建立一個嵌套游標應用,其功能是按學號升序列出全體學生信息(學號、姓名、院系名稱)及其所修課程的名稱和考試成績信息(基于前面實驗建立的表和插入的數(shù)據(jù))(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三、實驗分析與小結(jié):(實驗過程中的問題分析、產(chǎn)生的原因以及解決方法;實驗結(jié)果分析;有待優(yōu)化思路)1、實驗過程中的問題分析、產(chǎn)生的原因以及解決方法。2、實驗結(jié)果分析;有待優(yōu)化思路。在實驗