6實(shí)驗(yàn)六存儲(chǔ)過程_第1頁(yè)
6實(shí)驗(yàn)六存儲(chǔ)過程_第2頁(yè)
6實(shí)驗(yàn)六存儲(chǔ)過程_第3頁(yè)
6實(shí)驗(yàn)六存儲(chǔ)過程_第4頁(yè)
6實(shí)驗(yàn)六存儲(chǔ)過程_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

頁(yè)腳內(nèi)容66大基酒的詳細(xì)介紹實(shí)驗(yàn)六存儲(chǔ)過程一、實(shí)驗(yàn)?zāi)康?1)掌握T-SQL流控制語(yǔ)句。(2)掌握創(chuàng)建存儲(chǔ)過程的方法。(3)掌握存儲(chǔ)過程的執(zhí)行方法。(4)掌握存儲(chǔ)過程的管理和維護(hù)。二、實(shí)驗(yàn)內(nèi)容1、創(chuàng)建簡(jiǎn)單存儲(chǔ)過程(1)創(chuàng)建一個(gè)名為stu_pr的存儲(chǔ)過程,該存儲(chǔ)過程能查詢出051班學(xué)生的所有資料,包括學(xué)生的基本信息、學(xué)生的選課信息(含未選課同學(xué)的信息)。要求在創(chuàng)建存儲(chǔ)過程前請(qǐng)判斷ifexists(select*fromsysobjectswherename='stu_pr'andtype='P')dropprocedurestu_prendelsecreateprocedurestu_prselectdistinct*fromStudentsleftjoinSCons.Sno=SC.SnoleftjoinCourseconc.Cno=sc.Cno6大基酒的詳細(xì)介紹whereClassno='051'execstu_pr2、創(chuàng)建帶參數(shù)的存儲(chǔ)過程(1)創(chuàng)建一個(gè)名為stu_proc1的存儲(chǔ)過程,查詢某系、某姓名的學(xué)生的學(xué)號(hào)、姓名、年齡,選修課程名、成績(jī)。系名和姓名在調(diào)用該存儲(chǔ)過程時(shí)輸入,其默認(rèn)值分別為“%”與“林%”。執(zhí)行該存儲(chǔ)過程,用多種參數(shù)加以測(cè)試。ifexists(select*fromsysobjectswherename='stu_proc1'andtype='P')dropprocedurestu_proc1endelse13頁(yè)腳內(nèi)容66大基酒的詳細(xì)介紹createprocedurestu_proc1@sdeptvarchar(10)='%',@snamevarchar(10)='林%'selectSname,s.Sno,YEAR(getdate())-YEAR(Birth)Age,Cname,GradefromStudents,Coursec,SCwheres.Sno=sc.Snoandc.Cno=sc.Cnoands.Snamelike@snameands.Sdeptlike@sdept②、execstu_proc1@sdept='%',@sname='林%'頁(yè)腳內(nèi)容66大基酒的詳細(xì)介紹(2)創(chuàng)建一個(gè)名為Student_sc的存儲(chǔ)過程,可查詢出某段學(xué)號(hào)的同學(xué)的學(xué)號(hào)、姓名、總成ifexists(selectnamefromsysobjectswherename='Student_sc'andtype='P')dropprocedureStudent_scgocreateprocedureStudent_sc@sno_beginvarchar(10)='20110001',@sno_endvarchar(10)='20110103'selects.Sno,Sname,SUM(grade)total_gradefromStudents,SCwheres.Sno=sc.Snoands.Snobetween@sno_beginand@sno_endgroupbys.Sno,SnameexecStudent_sc頁(yè)腳內(nèi)容66大基酒的詳細(xì)介紹3、創(chuàng)建帶輸出參數(shù)的存儲(chǔ)過程(1)創(chuàng)建一個(gè)名為Course_sum的存儲(chǔ)過程,可查詢某門課程考試的總成績(jī)。總成績(jī)可以輸出,以便進(jìn)一步調(diào)用。ifexists(selectnamefromsysobjectswherename='Course_sum'andtype='P')dropprocedureCourse_sumcreateprocedureCourse_sum@cnamevarchar(10)='%'selectSUM(grade)total_grade,COUNT(sno)snofromCoursec,SCwherec.Cno=sc.CnoandCnamelike@cname頁(yè)腳內(nèi)容6大基酒的詳細(xì)介紹execCourse_sum'高數(shù)'(2)創(chuàng)建一執(zhí)行該存儲(chǔ)過程的批處理,要求當(dāng)總成績(jī)小于100時(shí),顯示信息為:“XX課程的createproceduresum_grade2@cnamevarchar(10),@@sumsmallintoutputselect@@sum=sum(grade)fromCoursec,SCwherec.Cno=sc.CnoandCnamelike@cnamedeclare@@sumgradesmallintexecsum_grade2'高數(shù)',@@sumgradeoutputif@@sumgrade<100nprint'高數(shù)的總成績(jī)?yōu)椋?+CAST(@@sumgradeASvarchar(20))+',其總分未達(dá)到分。'endelseprint'高數(shù)的總成績(jī)?yōu)椋?+CAST(@@sumgradeASvarchar(20))+'。'66大基酒的詳細(xì)介紹4、創(chuàng)建帶重編譯及加密選項(xiàng)的存儲(chǔ)過程創(chuàng)建一個(gè)名為update_sc、并帶重編譯及加密選項(xiàng)的存儲(chǔ)過程,可更新指定學(xué)號(hào)、指定課程號(hào)的學(xué)生的課程成績(jī)。(學(xué)號(hào)、課程號(hào)由調(diào)用時(shí)輸入)ifexists(selectnamefromsysobjectswherename='update_sc'andtype='P')dropprocedureupdate_sccreateprocedureupdate_sc@cnovarchar(10),@snovarchar(10),@gradeintwithrecompile,encryption--重編譯,加密updateSCsetgrade=@gradewhereSC.Cno=@cnoandSC.Sno=@sno頁(yè)腳內(nèi)容66大基酒的詳細(xì)介紹execupdate_sc'001','20110001','80'(1)使用sp_helptext查看存儲(chǔ)過程Student_sc的定義腳本sp_helptextStudent_sc(2)使用select語(yǔ)句查看Student_sc存儲(chǔ)過程的定義腳本(提示:通過查詢表sysobjects和表entsselecto.id,c.textfromsysobjectsoinnerjoinsyscommentscono.id=c.idwhereo.type='p'='Student_sc'頁(yè)腳內(nèi)容66大基酒的詳細(xì)介紹(3)將存儲(chǔ)過程stu_pr改為查詢學(xué)號(hào)為2011001的學(xué)生的詳細(xì)資料。alterprocedurestu_pr@snovarchar(10)selectdistinct*fromStudentwhereSno='20110001'execstu_pr@sno='2011001'(4)刪除存儲(chǔ)過程stu_pr。dropprocedurestu_pr6、使用SQLServerManagementStudio管理存儲(chǔ)過程(1)在SQLServerManagementStudio中重新創(chuàng)建剛刪除的存儲(chǔ)過程stu_pr選擇數(shù)據(jù)庫(kù)Student_info→可編程性→存儲(chǔ)過程,右擊“存儲(chǔ)過程”→新建存儲(chǔ)過程頁(yè)腳內(nèi)容66大基酒的詳細(xì)介紹修改存儲(chǔ)過程的名稱為stu_pr修改SQL語(yǔ)句,使之成為完整的存儲(chǔ)過程CREATEPROCEDUREstu_pr--AddtheparametersforthestoredprocedurehereASN--SETNOCOUNTONaddedtopreventextraresultsetsfrom--interferingwithSELECTstatements.SETNOCOUNTON;--InsertstatementsforprocedurehereSELECTdistinct*fromStudentsleftjoinSCons.Sno=SC.SnoleftjoinCourseconc.Cno=sc.CnowhereClassno='051'頁(yè)腳內(nèi)容66大基酒的詳細(xì)介紹(2)查看存儲(chǔ)過程stu_pr,并將該過程修改為查詢051班女生的所有資料??删幊绦浴鎯?chǔ)過程→stu_pr,右擊stu_pr→修改66大基酒的詳細(xì)介紹修改SQL語(yǔ)句,使之能查詢051班所有女生的資料的存儲(chǔ)過程ALTERPROCEDURE[dbo].[stu_pr]--AddtheparametersforthestoredprocedurehereASN--SETNOCOUNTONaddedtopreventextraresultsetsfrom--interferingwithSELECTstatements.SETNOCOUNTON;--Insertstat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論