




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
實驗六:存儲過程和觸發(fā)器一、實驗目的1、理解存儲過程的概念,掌握創(chuàng)建與運行存儲過程的一般方法,加深對客戶/服務器機制的理解。2、掌握觸發(fā)器的創(chuàng)建方法,學習觸發(fā)器的使用,體會觸發(fā)器執(zhí)行的時機,加深對觸發(fā)器功能和作用的理解。3、比較存儲過程和觸發(fā)器的異同。4、掌握數(shù)據(jù)庫事務處理語句1二、實驗內(nèi)容實驗數(shù)據(jù):實驗二所建的數(shù)據(jù)庫及表,實驗三錄入表中的數(shù)據(jù)。1、存儲過程的建立和執(zhí)行分別建立有沒參數(shù)、有參數(shù)(定義缺省和不定義缺?。?、有返回值的存儲過程。存儲過程的執(zhí)行2、觸發(fā)器的創(chuàng)建與執(zhí)行各類觸發(fā)器分別建立一個,再設計一組有效和無效的操作數(shù)據(jù),觸發(fā)各個觸發(fā)器執(zhí)行3、數(shù)據(jù)庫事務處理操作語句2三、實驗重點與難點1、重點:(1)有參數(shù)的存儲過程的建立(2)觸發(fā)器的執(zhí)行2、難點:設計一系列操作觸發(fā)觸發(fā)器的執(zhí)行。3四、實驗步驟1、恢復上次課的數(shù)據(jù)庫表結構和數(shù)據(jù)。2、完成以下操作1)存儲過程的創(chuàng)建與執(zhí)行(1)建立存儲過程P1,查詢選修了某門課程的學生信息(其中課程名,返回值自行設計)(2)建立存儲過程P2,將某班的所有學生的成績放在一個臨時表中。(3)建立存儲過程P3,計算某一個專業(yè)的某一門課和的平均成績,顯示出專業(yè)名稱、課程名稱和平均成績4(4)建立存儲過程p1,功能:查詢成績在X到Y之間的學生信息,設計返回值:當輸入的值為空時:返回值10,提示“請?zhí)峁┓秶?!”;當輸入的X或Y不在0到100之間時:返回值11,提示“輸入的值不對!”;當輸入的值X>Y時:返回值12,提示“X應小于Y!”;當查找后沒有滿足條件的記錄時:返回值-10,提示“對不起!沒有滿足條件的記錄!”(5)運行所建立的存儲過程,觀察其執(zhí)行結果。52)觸發(fā)器的建立
首先刪除各個表中的外碼約束。(1)在課程表和成績表上建立一組觸發(fā)器,實現(xiàn)課程表的課程號與成績表的課程號之間的參照關系。(2)在成績表上建立一個插入和修改類的觸發(fā)器,實現(xiàn)當修改成績時,檢查修改后的成績是否在0到100之間,如果是,插入或修改成功,否則失敗。(3)觸發(fā)器的執(zhí)行分別對學生表、課程表和成績表進行插入、刪除和修改操作,觸發(fā)相應觸發(fā)器的執(zhí)行,觀察其執(zhí)行結果。6(1)存儲過程示例: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('沒有該學生學號或沒有該課程號')rollbackend83、數(shù)據(jù)準備:執(zhí)行如下命令Select*into##tempfromCustomers,將Customers的數(shù)據(jù)倒入到##temp表中。啟動事務,執(zhí)行刪除后,回滾事務選擇##temp的數(shù)據(jù),察看記錄總數(shù)顯式啟動事務刪除##temp表的數(shù)據(jù)選擇##temp數(shù)據(jù),察看記錄總數(shù)回滾事務選擇##temp數(shù)據(jù),察看記錄總數(shù)9啟動事務,執(zhí)行刪除后,提交事務選擇##temp數(shù)據(jù),察看記錄總數(shù)顯式啟動事務刪除##temp表的數(shù)據(jù)選擇##temp的數(shù)據(jù),察看記錄總數(shù)回滾事務選擇##temp數(shù)據(jù),察看記錄總數(shù)比較這兩次執(zhí)行效果的差異,為什么會有這些差異?10五、注意:1、如果為存儲過程指定參數(shù)且沒有定義參數(shù)的缺省值,必須在運行時給出參數(shù)值2、對表者操作時觸發(fā)相應的觸發(fā)器執(zhí)行,因此設計操作時必須要設計滿足觸發(fā)器條件和不滿足條件兩種操作,才能體會到觸發(fā)器的作用11思考與練習1、存儲過程與觸發(fā)器的運行方式有什么不同?2、編寫存儲過程實現(xiàn)對表的插入、刪除與修改12實驗要求1、按照實驗要求進行實驗,實驗時注每種SQL語句的命令格式及關鍵字的含義,做好實驗記錄。2、實驗后:分析實驗結果,總結實驗知識,得出結論,按格式寫出實驗報告。3、在整個實驗過程中,要獨立思考、獨立按時完成實驗任務,不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 糕點店財務管理與風險防范考核試卷
- 數(shù)據(jù)庫應用操作技巧分享試題及答案
- 計算機四級考試小貼士試題及答案分享
- 行政組織中的創(chuàng)新思維與解決問題策略試題及答案
- 公司會所食堂管理制度
- 公路工程團隊建設試題及答案
- 嵌入式系統(tǒng)中的數(shù)據(jù)通信技術試題及答案
- 展會公共人員管理制度
- 勞務公司分包管理制度
- 醫(yī)院新進職工管理制度
- 2025-2030年中國腰果酚行業(yè)競爭格局展望及投資前景研究報告
- 2025年天津市高三高考模擬英語試卷試題(含答案詳解)
- 職業(yè)技術學校中醫(yī)康復技術專業(yè)人才培養(yǎng)方案
- 遼寧省名校聯(lián)盟2025年高考模擬卷押題卷數(shù)學(三)
- 2024年四川巴中事業(yè)單位招聘考試真題答案解析
- 以好家風涵養(yǎng)好作風-新時代領導干部家風建設專題課件
- 2025年甘肅省武威第二十中學生物七年級下冊新人教版期中模擬練習題(含答案)
- 銀行客戶經(jīng)理培訓課件
- 藥品理化檢驗培訓
- 腹部帶蒂皮瓣護理
- 倉庫7s管理制度培訓
評論
0/150
提交評論