實(shí)驗(yàn)五++存儲(chǔ)過(guò)程和觸發(fā)器_第1頁(yè)
實(shí)驗(yàn)五++存儲(chǔ)過(guò)程和觸發(fā)器_第2頁(yè)
實(shí)驗(yàn)五++存儲(chǔ)過(guò)程和觸發(fā)器_第3頁(yè)
實(shí)驗(yàn)五++存儲(chǔ)過(guò)程和觸發(fā)器_第4頁(yè)
實(shí)驗(yàn)五++存儲(chǔ)過(guò)程和觸發(fā)器_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)六:存儲(chǔ)過(guò)程和觸發(fā)器一、實(shí)驗(yàn)?zāi)康?、理解存儲(chǔ)過(guò)程的概念,掌握創(chuàng)建與運(yùn)行存儲(chǔ)過(guò)程的一般方法,加深對(duì)客戶(hù)/服務(wù)器機(jī)制的理解。2、掌握觸發(fā)器的創(chuàng)建方法,學(xué)習(xí)觸發(fā)器的使用,體會(huì)觸發(fā)器執(zhí)行的時(shí)機(jī),加深對(duì)觸發(fā)器功能和作用的理解。3、比較存儲(chǔ)過(guò)程和觸發(fā)器的異同。4、掌握數(shù)據(jù)庫(kù)事務(wù)處理語(yǔ)句1二、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)數(shù)據(jù):實(shí)驗(yàn)二所建的數(shù)據(jù)庫(kù)及表,實(shí)驗(yàn)三錄入表中的數(shù)據(jù)。1、存儲(chǔ)過(guò)程的建立和執(zhí)行分別建立有沒(méi)參數(shù)、有參數(shù)(定義缺省和不定義缺省)、有返回值的存儲(chǔ)過(guò)程。存儲(chǔ)過(guò)程的執(zhí)行2、觸發(fā)器的創(chuàng)建與執(zhí)行各類(lèi)觸發(fā)器分別建立一個(gè),再設(shè)計(jì)一組有效和無(wú)效的操作數(shù)據(jù),觸發(fā)各個(gè)觸發(fā)器執(zhí)行3、數(shù)據(jù)庫(kù)事務(wù)處理操作語(yǔ)句2三、實(shí)驗(yàn)重點(diǎn)與難點(diǎn)1、重點(diǎn):(1)有參數(shù)的存儲(chǔ)過(guò)程的建立(2)觸發(fā)器的執(zhí)行2、難點(diǎn):設(shè)計(jì)一系列操作觸發(fā)觸發(fā)器的執(zhí)行。3四、實(shí)驗(yàn)步驟1、恢復(fù)上次課的數(shù)據(jù)庫(kù)表結(jié)構(gòu)和數(shù)據(jù)。2、完成以下操作1)存儲(chǔ)過(guò)程的創(chuàng)建與執(zhí)行(1)建立存儲(chǔ)過(guò)程P1,查詢(xún)選修了某門(mén)課程的學(xué)生信息(其中課程名,返回值自行設(shè)計(jì))(2)建立存儲(chǔ)過(guò)程P2,將某班的所有學(xué)生的成績(jī)放在一個(gè)臨時(shí)表中。(3)建立存儲(chǔ)過(guò)程P3,計(jì)算某一個(gè)專(zhuān)業(yè)的某一門(mén)課和的平均成績(jī),顯示出專(zhuān)業(yè)名稱(chēng)、課程名稱(chēng)和平均成績(jī)4(4)建立存儲(chǔ)過(guò)程p1,功能:查詢(xún)成績(jī)?cè)赬到Y(jié)之間的學(xué)生信息,設(shè)計(jì)返回值:當(dāng)輸入的值為空時(shí):返回值10,提示“請(qǐng)?zhí)峁┓秶?!”;?dāng)輸入的X或Y不在0到100之間時(shí):返回值11,提示“輸入的值不對(duì)!”;當(dāng)輸入的值X>Y時(shí):返回值12,提示“X應(yīng)小于Y!”;當(dāng)查找后沒(méi)有滿(mǎn)足條件的記錄時(shí):返回值-10,提示“對(duì)不起!沒(méi)有滿(mǎn)足條件的記錄!”(5)運(yùn)行所建立的存儲(chǔ)過(guò)程,觀察其執(zhí)行結(jié)果。52)觸發(fā)器的建立

首先刪除各個(gè)表中的外碼約束。(1)在課程表和成績(jī)表上建立一組觸發(fā)器,實(shí)現(xiàn)課程表的課程號(hào)與成績(jī)表的課程號(hào)之間的參照關(guān)系。(2)在成績(jī)表上建立一個(gè)插入和修改類(lèi)的觸發(fā)器,實(shí)現(xiàn)當(dāng)修改成績(jī)時(shí),檢查修改后的成績(jī)是否在0到100之間,如果是,插入或修改成功,否則失敗。(3)觸發(fā)器的執(zhí)行分別對(duì)學(xué)生表、課程表和成績(jī)表進(jìn)行插入、刪除和修改操作,觸發(fā)相應(yīng)觸發(fā)器的執(zhí)行,觀察其執(zhí)行結(jié)果。6(1)存儲(chǔ)過(guò)程示例:createprocd_s2@classno1varchar(20)asbeginselect*into##sc1fromscwheresnoin(selectsnofromstudentwhereclassno=@classno1)select*from#class11end7(2)觸發(fā)器示例:altertriggerin_sconscforinsert,updateasifnotexists(selectstudent.snofromstudent,insertedwherestudent.sno=inserted.sno)ornotexists(selectofromcourse,insertedwhereo=o)beginprint('沒(méi)有該學(xué)生學(xué)號(hào)或沒(méi)有該課程號(hào)')rollbackend83、數(shù)據(jù)準(zhǔn)備:執(zhí)行如下命令Select*into##tempfromCustomers,將Customers的數(shù)據(jù)倒入到##temp表中。啟動(dòng)事務(wù),執(zhí)行刪除后,回滾事務(wù)選擇##temp的數(shù)據(jù),察看記錄總數(shù)顯式啟動(dòng)事務(wù)刪除##temp表的數(shù)據(jù)選擇##temp數(shù)據(jù),察看記錄總數(shù)回滾事務(wù)選擇##temp數(shù)據(jù),察看記錄總數(shù)9啟動(dòng)事務(wù),執(zhí)行刪除后,提交事務(wù)選擇##temp數(shù)據(jù),察看記錄總數(shù)顯式啟動(dòng)事務(wù)刪除##temp表的數(shù)據(jù)選擇##temp的數(shù)據(jù),察看記錄總數(shù)回滾事務(wù)選擇##temp數(shù)據(jù),察看記錄總數(shù)比較這兩次執(zhí)行效果的差異,為什么會(huì)有這些差異?10五、注意:1、如果為存儲(chǔ)過(guò)程指定參數(shù)且沒(méi)有定義參數(shù)的缺省值,必須在運(yùn)行時(shí)給出參數(shù)值2、對(duì)表者操作時(shí)觸發(fā)相應(yīng)的觸發(fā)器執(zhí)行,因此設(shè)計(jì)操作時(shí)必須要設(shè)計(jì)滿(mǎn)足觸發(fā)器條件和不滿(mǎn)足條件兩種操作,才能體會(huì)到觸發(fā)器的作用11思考與練習(xí)1、存儲(chǔ)過(guò)程與觸發(fā)器的運(yùn)行方式有什么不同?2、編寫(xiě)存儲(chǔ)過(guò)程實(shí)現(xiàn)對(duì)表的插入、刪除與修改12實(shí)驗(yàn)要求1、按照實(shí)驗(yàn)要求進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)時(shí)注每種SQL語(yǔ)句的命令格式及關(guān)鍵字的含義,做好實(shí)驗(yàn)記錄。2、實(shí)驗(yàn)后:分析實(shí)驗(yàn)結(jié)果,總結(jié)實(shí)驗(yàn)知識(shí),得出結(jié)論,按格式寫(xiě)出實(shí)驗(yàn)報(bào)告。3、在整個(gè)實(shí)驗(yàn)過(guò)程中,要獨(dú)立思考、獨(dú)立按時(shí)完成實(shí)驗(yàn)任務(wù),不

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論