



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)11存儲(chǔ)過(guò)程1 .實(shí)驗(yàn)?zāi)康?1) 掌握使用SQL Server管理平臺(tái)和Transact-SQL語(yǔ)句創(chuàng)建存儲(chǔ)過(guò)程、執(zhí)行存儲(chǔ)過(guò)程、修改存儲(chǔ)過(guò)程、刪除存儲(chǔ)過(guò)程的用法。(2) 理解使用SQL Server管理平臺(tái)和Transact-SQL語(yǔ)句查看存儲(chǔ)過(guò)程定義、重命名存儲(chǔ)過(guò)程的用法。2 .實(shí)驗(yàn)內(nèi)容及步驟請(qǐng)先附加studentsdb數(shù)據(jù)庫(kù),然后完成以下實(shí)驗(yàn)。(1) CREATE PROCEDURE st_gAS BEGINSELECT x.學(xué)號(hào),x.姓名,y.分?jǐn)?shù)FROM student_info x ,grade y Where x. 學(xué)號(hào)二y.學(xué)號(hào) END該程序完成的功能是 創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,儲(chǔ)
2、存分 數(shù)。(2) 設(shè)計(jì)一個(gè)存儲(chǔ)過(guò)程proc_grade完成這樣的功能:查詢(xún)grade表中課程編號(hào)為k002'的學(xué)號(hào)、分?jǐn)?shù)信息,并使存儲(chǔ)過(guò)程不能使用sp_helptext查看(即 加密),請(qǐng)編寫(xiě)程序?qū)崿F(xiàn)。答:create procedure proc_grade with encryption as beginselect grade .學(xué)號(hào),grade .分?jǐn)?shù)from gradewhere grade .課程編號(hào)='k002'end(3) 修改存儲(chǔ)過(guò)程proc_grade ,查詢(xún)grade表中課程編號(hào)為k001'的學(xué)號(hào)、分?jǐn)?shù)信息,去掉proc_grade加密性,
3、使其在運(yùn)行時(shí)重新編譯。答:alter procedure proc_gradeasbeginselect grade . 學(xué)號(hào) , grade . 分?jǐn)?shù)from gradewhere grade . 課程編號(hào)='k001'end(4) 4)在 student_info 表中增加一列名為“手機(jī)號(hào)”, 數(shù)據(jù)類(lèi)型 char(11) 。 設(shè)計(jì)一個(gè)存儲(chǔ)過(guò)程proc_tel , 查詢(xún) student_info 表中末尾數(shù)字為5的手機(jī)號(hào)碼。答: alter table student_infoadd 手機(jī)號(hào) char ( 11)create procedure proc_telasbegin
4、insert into student_info ( 學(xué)號(hào) , 手機(jī)號(hào) )values ( , )select 手機(jī)號(hào)from student_infowhere 手機(jī)號(hào) like '%5'endexec proc_tel(5) 設(shè)計(jì)一個(gè)存儲(chǔ)過(guò)程proc_avg ,輸出grade表中每個(gè)學(xué)生的平均成績(jī)。答: create procedure proc_avgasbeginselect AVG( grade . 分?jǐn)?shù) ) as 平均成績(jī), grade . 學(xué)號(hào)from gradegroup by grade . 學(xué)號(hào)endexec proc_avg(6) 6)設(shè)計(jì)一個(gè)存儲(chǔ)過(guò)程pr
5、oc_list ,查詢(xún) grade 表中指定課程( 參數(shù) cidchar(4) 的成績(jī)排名前3 的學(xué)生成績(jī)信息。編寫(xiě)程序并調(diào)用該存儲(chǔ)過(guò)程。答: create procedure proc_listcid char(4)asbeginselect top 3 *from gradewhere grade . 課程編號(hào)=cidorder by grade . 分?jǐn)?shù) descendexec proc_list7) 設(shè)計(jì)一個(gè)存儲(chǔ)過(guò)程proc_stu ,查詢(xún)某門(mén)課程某個(gè)分?jǐn)?shù)段的學(xué)生信息,顯示學(xué)號(hào)、姓名、分?jǐn)?shù),要求課程名稱(chēng)和分?jǐn)?shù)段均為輸入?yún)?shù),請(qǐng)編寫(xiě)程序并調(diào)用該存儲(chǔ)過(guò)程。create procedure
6、proc_stu sclass nchar ( 10), score decimal (4, 1), score2 decimal ( 4, 1)asbeginselect a . 學(xué)號(hào) , a. 姓名 , b. 分?jǐn)?shù)from student_info a inner join grade b on a . 學(xué)號(hào) =b. 學(xué)號(hào) inner join curriculum c on b .課程編號(hào)=c. 課程編號(hào)where c . 課程名稱(chēng)=sclass and b . 分?jǐn)?shù)>score and b . 分?jǐn)?shù)<score2 endexec proc_stu ' ' ,
7、 , ( 自己輸入?yún)?shù))8) 設(shè)計(jì)一個(gè)存儲(chǔ)過(guò)程proc_course , 查詢(xún)某門(mén)課程的平均成績(jī)并將其輸出給用戶。課程名稱(chēng)為輸入?yún)?shù),平均成績(jī)?yōu)檩敵鰠?shù),編寫(xiě)程序并調(diào)用該存儲(chǔ)過(guò)程。答: create procedure proc_course cclass nchar ( 10),avgscore decimal ( 4, 1) outputasbeginselect avgscore =avg( grade . 分?jǐn)?shù) )from grade inner join curriculum on grade . 課程編號(hào)=curriculum . 課程編號(hào)where curriculum . 課程
8、名稱(chēng)=cclassenddeclare cclass nchar ( 10) exec proc_course ' ' , cclass outputselect cclass 平均成績(jī)9) 設(shè)計(jì)一個(gè)存儲(chǔ)過(guò)程,用于修改指定學(xué)生( 參數(shù) sid char(4) 指定課程(參數(shù)為 cid char(4) 的分?jǐn)?shù) (score decimal(3,1) ,并輸出該生的平均成績(jī)avgs),要求輸出格式為: “該生的最新平均成績(jī)?yōu)椋?”。編寫(xiě)并調(diào)用該存儲(chǔ)過(guò)程(修改學(xué)號(hào)0002'的學(xué)生的彳讀課程K003'的成績(jī)改為96)。答:create procedure proc_al
9、tersid char(4),cid char (4),score decimal (3, 1), avgs decimal ( 3, 1) outputas beginupdate gradeset grade . 分?jǐn)?shù) =scorewhere grade . 學(xué)號(hào) =sid and grade . 課程編號(hào)=cidselect avgs=avg(grade . 分?jǐn)?shù) ) from gradewhere grade . 學(xué)號(hào) =sid enddeclare avgs decimal ( 3, 1)exec proc_alter '0002' , 'K003'
10、, 96, avgs outputselect avgs 平均成績(jī)(10)設(shè)計(jì)一個(gè)存儲(chǔ)過(guò)程proc_credit 完成這樣的功能:輸入學(xué)號(hào)sid、 課程名稱(chēng)52m#數(shù)值,將查詢(xún)curriculum、grade表,并從輸出參數(shù) scoecredit 獲取該學(xué)生該課程的成績(jī)和學(xué)分,如果分?jǐn)?shù)大于等于60,則返回對(duì)應(yīng)課程的學(xué)分,否則返回學(xué)分值0,請(qǐng)編寫(xiě)程序并調(diào)用該存儲(chǔ)過(guò)程。答:create procedure proc_creditsid char(4),cnamenchar ( 10),credit int output , score decimal (4, 1) output asbeginselect score=grade . 分?jǐn)?shù) , credit =curriculum . 學(xué)分from grade inner join curriculum on grade . 課程編號(hào)=curriculum . 課程編號(hào)where grade . 學(xué)號(hào) =sid and curriculum . 課程名稱(chēng)=cnameend declare credit int , score decimal ( 4, 1 ) exec proc_credit ' ' , ' ' ,credit output
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)境保護(hù)與節(jié)能減排教育培訓(xùn)
- 小兒肺炎的臨床表現(xiàn)及護(hù)理
- 幼兒健康活動(dòng)保護(hù)耳朵
- 領(lǐng)導(dǎo)講安全課件
- 顱骨修補(bǔ)術(shù)后護(hù)理課件
- 顱內(nèi)占位護(hù)理課件
- 胃癌腹腔鏡手術(shù)護(hù)理常規(guī)
- 預(yù)防欺凌主題班會(huì)課件
- 《機(jī)械設(shè)計(jì)基礎(chǔ)》課件-第13章 軸
- 預(yù)防兒童溺水課件
- 招商大使選聘管理辦法
- 2025年中國(guó)鐵路集團(tuán)招聘筆試備考題庫(kù)(帶答案詳解)
- 用工風(fēng)險(xiǎn)培訓(xùn)課件
- 海外現(xiàn)場(chǎng)安全健康環(huán)境管理(HSE)
- 2025年公安機(jī)關(guān)人民警察(行政執(zhí)法)資格考試(客觀題及刑法)含答案
- DLT 5035-2016 發(fā)電廠供暖通風(fēng)與空氣調(diào)節(jié)設(shè)計(jì)規(guī)范
- DZ∕T 0201-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 鎢、錫、汞、銻(正式版)
- 小小科學(xué)家《物理》模擬試卷A(附答案)
- 《風(fēng)電場(chǎng)項(xiàng)目經(jīng)濟(jì)評(píng)價(jià)規(guī)范》(NB-T 31085-2016)
- 檢驗(yàn)科員工個(gè)人技術(shù)檔案
- 企業(yè)拆除前現(xiàn)場(chǎng)清查登記表
評(píng)論
0/150
提交評(píng)論