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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)六:存儲(chǔ)過(guò)程和觸發(fā)器實(shí)驗(yàn)六:存儲(chǔ)過(guò)程和觸發(fā)器一、實(shí)驗(yàn)?zāi)康囊?、?shí)驗(yàn)?zāi)康膙1、理解存儲(chǔ)過(guò)程的概念,掌握創(chuàng)建與運(yùn)行存儲(chǔ)過(guò)、理解存儲(chǔ)過(guò)程的概念,掌握創(chuàng)建與運(yùn)行存儲(chǔ)過(guò)程的一般方法,加深對(duì)客戶程的一般方法,加深對(duì)客戶/服務(wù)器機(jī)制的理解。服務(wù)器機(jī)制的理解。v2、掌握觸發(fā)器的創(chuàng)建方法,學(xué)習(xí)觸發(fā)器的使用,、掌握觸發(fā)器的創(chuàng)建方法,學(xué)習(xí)觸發(fā)器的使用,體會(huì)觸發(fā)器執(zhí)行的時(shí)機(jī),加深對(duì)觸發(fā)器功能和作用體會(huì)觸發(fā)器執(zhí)行的時(shí)機(jī),加深對(duì)觸發(fā)器功能和作用的理解。的理解。v3、比較存儲(chǔ)過(guò)程和觸發(fā)器的異同。、比較存儲(chǔ)過(guò)程和觸發(fā)器的異同。v4、掌握數(shù)據(jù)庫(kù)事務(wù)處理掌握數(shù)據(jù)庫(kù)事務(wù)處理 語(yǔ)句二、實(shí)驗(yàn)內(nèi)容二、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)數(shù)據(jù):實(shí)驗(yàn)數(shù)據(jù):實(shí)驗(yàn)二

2、所建的數(shù)據(jù)庫(kù)及表,實(shí)驗(yàn)三錄入表實(shí)驗(yàn)二所建的數(shù)據(jù)庫(kù)及表,實(shí)驗(yàn)三錄入表中的數(shù)據(jù)。中的數(shù)據(jù)。1、存儲(chǔ)過(guò)程的建立和執(zhí)行、存儲(chǔ)過(guò)程的建立和執(zhí)行 分別建立有沒(méi)參數(shù)、有參數(shù)(定義缺省和不定義缺分別建立有沒(méi)參數(shù)、有參數(shù)(定義缺省和不定義缺?。⒂蟹祷刂档拇鎯?chǔ)過(guò)程。存儲(chǔ)過(guò)程的執(zhí)行省)、有返回值的存儲(chǔ)過(guò)程。存儲(chǔ)過(guò)程的執(zhí)行2、觸發(fā)器的創(chuàng)建與執(zhí)行、觸發(fā)器的創(chuàng)建與執(zhí)行 各類觸發(fā)器分別建立一個(gè),再設(shè)計(jì)一組有效和無(wú)效各類觸發(fā)器分別建立一個(gè),再設(shè)計(jì)一組有效和無(wú)效的操作數(shù)據(jù)的操作數(shù)據(jù) ,觸發(fā)各個(gè)觸發(fā)器執(zhí)行觸發(fā)器執(zhí)行3、數(shù)據(jù)庫(kù)事務(wù)處理數(shù)據(jù)庫(kù)事務(wù)處理 操作語(yǔ)句三、實(shí)驗(yàn)重點(diǎn)與難點(diǎn)三、實(shí)驗(yàn)重點(diǎn)與難點(diǎn)1、重點(diǎn):、重點(diǎn):(1)有參數(shù)的存儲(chǔ)

3、過(guò)程的建立)有參數(shù)的存儲(chǔ)過(guò)程的建立(2)觸發(fā)器的執(zhí)行)觸發(fā)器的執(zhí)行2、難點(diǎn):、難點(diǎn): 設(shè)計(jì)一系列操作觸發(fā)觸發(fā)器的執(zhí)行。設(shè)計(jì)一系列操作觸發(fā)觸發(fā)器的執(zhí)行。四、實(shí)驗(yàn)步驟四、實(shí)驗(yàn)步驟1、恢復(fù)上次課的數(shù)據(jù)庫(kù)表結(jié)構(gòu)和數(shù)據(jù)。、恢復(fù)上次課的數(shù)據(jù)庫(kù)表結(jié)構(gòu)和數(shù)據(jù)。 2、完成以下操作、完成以下操作1)存儲(chǔ)過(guò)程的創(chuàng)建與執(zhí)行)存儲(chǔ)過(guò)程的創(chuàng)建與執(zhí)行(1)建立存儲(chǔ)過(guò)程)建立存儲(chǔ)過(guò)程P1,查詢選修了某門(mén)課程的學(xué)生信,查詢選修了某門(mén)課程的學(xué)生信息(其中課程名,返回值自行設(shè)計(jì))息(其中課程名,返回值自行設(shè)計(jì))(2)建立存儲(chǔ)過(guò)程)建立存儲(chǔ)過(guò)程P2,將某班的所有學(xué)生的成績(jī)放在,將某班的所有學(xué)生的成績(jī)放在一個(gè)臨時(shí)表中。一個(gè)臨時(shí)表中。(

4、3)建立存儲(chǔ)過(guò)程)建立存儲(chǔ)過(guò)程P3,計(jì)算某一個(gè)專業(yè)的某一門(mén)課和,計(jì)算某一個(gè)專業(yè)的某一門(mén)課和的平均成績(jī)的平均成績(jī),顯示出專業(yè)名稱、課程名稱和平均成績(jī)顯示出專業(yè)名稱、課程名稱和平均成績(jī)(4)建立存儲(chǔ)過(guò)程)建立存儲(chǔ)過(guò)程p1,功能:查詢成績(jī)?cè)?,功能:查詢成?jī)?cè)赬到到Y(jié)之間之間的學(xué)生信息,設(shè)計(jì)返回值:的學(xué)生信息,設(shè)計(jì)返回值: 當(dāng)輸入的值為空時(shí):返回值當(dāng)輸入的值為空時(shí):返回值10,提示,提示“請(qǐng)?zhí)嵴?qǐng)?zhí)峁┓秶┓秶?!”;當(dāng)輸入的;當(dāng)輸入的X或或Y不在不在0到到100之間時(shí):之間時(shí):返回值返回值11,提示,提示“輸入的值不對(duì)!輸入的值不對(duì)!”;當(dāng)輸入的;當(dāng)輸入的值值XY時(shí):返回值時(shí):返回值12,提示,提示“

5、X應(yīng)小于應(yīng)小于Y!”;當(dāng);當(dāng)查找后沒(méi)有滿足條件的記錄時(shí):返回值查找后沒(méi)有滿足條件的記錄時(shí):返回值-10,提示,提示“對(duì)不起!沒(méi)有滿足條件的記錄!對(duì)不起!沒(méi)有滿足條件的記錄!”(5)運(yùn)行所建立的存儲(chǔ)過(guò)程,觀察其執(zhí)行結(jié)果。)運(yùn)行所建立的存儲(chǔ)過(guò)程,觀察其執(zhí)行結(jié)果。2)觸發(fā)器的建立)觸發(fā)器的建立 首先刪除各個(gè)表中的外碼約束。首先刪除各個(gè)表中的外碼約束。(1)在課程表和成績(jī)表上建立一組觸發(fā)器,實(shí)現(xiàn)課程)在課程表和成績(jī)表上建立一組觸發(fā)器,實(shí)現(xiàn)課程表的課程號(hào)與成績(jī)表的課程號(hào)之間的參照關(guān)系。表的課程號(hào)與成績(jī)表的課程號(hào)之間的參照關(guān)系。(2)在成績(jī)表上建立一個(gè)插入和修改類的觸發(fā)器,實(shí))在成績(jī)表上建立一個(gè)插入和修改

6、類的觸發(fā)器,實(shí)現(xiàn)當(dāng)修改成績(jī)時(shí),檢查修改后的成績(jī)是否在現(xiàn)當(dāng)修改成績(jī)時(shí),檢查修改后的成績(jī)是否在0到到100之間,如果是,插入或修改成功,否則失敗。之間,如果是,插入或修改成功,否則失敗。(3)觸發(fā)器的執(zhí)行)觸發(fā)器的執(zhí)行 分別對(duì)學(xué)生表、課程表和成績(jī)表進(jìn)行插入、分別對(duì)學(xué)生表、課程表和成績(jī)表進(jìn)行插入、刪除和修改操作,觸發(fā)相應(yīng)觸發(fā)器的執(zhí)行,觀察其刪除和修改操作,觸發(fā)相應(yīng)觸發(fā)器的執(zhí)行,觀察其執(zhí)行結(jié)果。執(zhí)行結(jié)果。(1)存儲(chǔ)過(guò)程示例:)存儲(chǔ)過(guò)程示例:create proc d_s2 classno1 varchar(20) asbeginselect * into #sc1 from sc where sno

7、in (select sno from student where classno=classno1) select * from #class11end(2)觸發(fā)器示例:)觸發(fā)器示例:alter trigger in_sc on sc for insert,updateasif not exists (select student.sno from student,inserted where student.sno=inserted.sno) or not exists (select o from course ,inserted where o=o)beginprint(沒(méi)有該學(xué)生學(xué)號(hào)

8、或沒(méi)有該課程號(hào)沒(méi)有該學(xué)生學(xué)號(hào)或沒(méi)有該課程號(hào))rollbackendv3、數(shù)據(jù)準(zhǔn)備:執(zhí)行如下命令Select * into #temp from Customers,將Customers的數(shù)據(jù)倒入到#temp表中。啟動(dòng)事務(wù),執(zhí)行刪除后,回滾事務(wù)v選擇#temp的數(shù)據(jù),察看記錄總數(shù)v顯式啟動(dòng)事務(wù)v刪除#temp表的數(shù)據(jù)v選擇#temp數(shù)據(jù),察看記錄總數(shù)v回滾事務(wù)v選擇#temp數(shù)據(jù),察看記錄總數(shù)啟動(dòng)事務(wù),執(zhí)行刪除后,提交事務(wù)v選擇#temp數(shù)據(jù),察看記錄總數(shù)v顯式啟動(dòng)事務(wù)v刪除#temp表的數(shù)據(jù)v選擇#temp的數(shù)據(jù),察看記錄總數(shù)v回滾事務(wù)v選擇#temp數(shù)據(jù),察看記錄總數(shù)v比較這兩次執(zhí)行效果的差

9、異,為什么會(huì)有這些比較這兩次執(zhí)行效果的差異,為什么會(huì)有這些差異?差異?五、注意:五、注意:1、如果為存儲(chǔ)過(guò)程指定參數(shù)且沒(méi)有定義參數(shù)的缺省值,、如果為存儲(chǔ)過(guò)程指定參數(shù)且沒(méi)有定義參數(shù)的缺省值,必須在運(yùn)行時(shí)給出參數(shù)值必須在運(yùn)行時(shí)給出參數(shù)值2、對(duì)表者操作時(shí)觸發(fā)相應(yīng)的觸發(fā)器執(zhí)行,因此設(shè)計(jì)操、對(duì)表者操作時(shí)觸發(fā)相應(yīng)的觸發(fā)器執(zhí)行,因此設(shè)計(jì)操作時(shí)必須要設(shè)計(jì)滿足觸發(fā)器條件和不滿足條件兩種作時(shí)必須要設(shè)計(jì)滿足觸發(fā)器條件和不滿足條件兩種操作,才能體會(huì)到觸發(fā)器的作用操作,才能體會(huì)到觸發(fā)器的作用v思考與練習(xí)思考與練習(xí)1、存儲(chǔ)過(guò)程與觸發(fā)器的運(yùn)行方式有什么不同?、存儲(chǔ)過(guò)程與觸發(fā)器的運(yùn)行方式有什么不同?2、編寫(xiě)存儲(chǔ)過(guò)程實(shí)現(xiàn)對(duì)表的插入、刪除與修改、編寫(xiě)存儲(chǔ)過(guò)程實(shí)現(xiàn)對(duì)表的插入、刪除與修改v實(shí)驗(yàn)要求實(shí)驗(yàn)要求v1、按照實(shí)驗(yàn)要求進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)時(shí)注每種、按照實(shí)驗(yàn)要求進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)時(shí)注每種SQL語(yǔ)語(yǔ)句的命令格式及關(guān)鍵字的含義,做好實(shí)驗(yàn)記錄。句的命令格式及關(guān)鍵字的含義,做好實(shí)驗(yàn)記錄。v2、實(shí)驗(yàn)后:分析實(shí)驗(yàn)結(jié)果,總結(jié)實(shí)驗(yàn)知識(shí),得出、實(shí)驗(yàn)后:分析實(shí)驗(yàn)結(jié)果,總結(jié)實(shí)驗(yàn)知識(shí),得出結(jié)論,按格式寫(xiě)出實(shí)驗(yàn)報(bào)告。結(jié)論,按格式寫(xiě)出實(shí)驗(yàn)報(bào)告。v3、在整個(gè)實(shí)驗(yàn)過(guò)程中,要獨(dú)立思考、獨(dú)立按時(shí)完、在整個(gè)實(shí)驗(yàn)過(guò)程中,要獨(dú)立思考、獨(dú)立按時(shí)完成實(shí)驗(yàn)任務(wù),不懂的要虛心向教師或同學(xué)請(qǐng)教。成實(shí)驗(yàn)任務(wù),不懂的要虛心向教師或同

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論