![存儲過程及觸發(fā)器的練習_第1頁](http://file4.renrendoc.com/view/60e6d9b4888e014a54b78497db9ebab3/60e6d9b4888e014a54b78497db9ebab31.gif)
![存儲過程及觸發(fā)器的練習_第2頁](http://file4.renrendoc.com/view/60e6d9b4888e014a54b78497db9ebab3/60e6d9b4888e014a54b78497db9ebab32.gif)
![存儲過程及觸發(fā)器的練習_第3頁](http://file4.renrendoc.com/view/60e6d9b4888e014a54b78497db9ebab3/60e6d9b4888e014a54b78497db9ebab33.gif)
![存儲過程及觸發(fā)器的練習_第4頁](http://file4.renrendoc.com/view/60e6d9b4888e014a54b78497db9ebab3/60e6d9b4888e014a54b78497db9ebab34.gif)
![存儲過程及觸發(fā)器的練習_第5頁](http://file4.renrendoc.com/view/60e6d9b4888e014a54b78497db9ebab3/60e6d9b4888e014a54b78497db9ebab35.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、實驗目的(1)理解存儲過程的概念,掌握存儲過程的使用方法,加深對客戶/服務機制的理解。(2)學習觸發(fā)器的使用,體會觸發(fā)器執(zhí)行的時機,加深對觸發(fā)器功能和作用的理解知識回顧1.創(chuàng)建存儲過程建立存儲過程的語句如下:CREATE PROCEDURE過程名(參數(shù)表)AS SQL語句創(chuàng)建存儲過程示例創(chuàng)建一個不帶參數(shù)的存儲過程CREATE PROCEDURE brow_student AS SELECT * FROM student WHERE classno=200501執(zhí)行存儲過程的方法(1) 獨立執(zhí)行存儲過程:EXEC brow_student (2) 在INSERT語句中執(zhí)行存儲過程: INSE
2、RT INTO student_b EXEC brow_student 創(chuàng)建帶參數(shù)的存儲過程例:顯示指定學號的學生信息。CREATE PROCEDURE stu_proc1 sno1 char(8)AS SELECT * FROM student WHERE sno=sno1 例:為參數(shù)設置缺省值。CREATE PROCEDURE sc_proc1 (sno1 char(8), cno1 char(20) =c01 )AS SELECT * from sc WHERE sno=sno1 and cno=cno1存儲過程的返回值可以用return或select返回存儲過程的值例:create p
3、rocedure sc_proc2 (sno1 char(8) asbegin declare sno2 char(8) select sno2=count(*) from sc where sno=sno1 if sno20 return 10 Else return 99endgodeclare s intexec s=sc_proc2 20050101 if s=10 print 找到記錄elseprint 未找到記錄Go create procedure sc_proc3 (sno1 char(8),cno1 char(4) as Declare var1 char(8) if (se
4、lect grade from sc where sno= sno1 and cno=cno1 )60 set var1 =及格 Else set var1 =不及格 Select 是否及格=var1 更改和刪除存儲過程更改存儲過程:ALTER PROCEDURESQL Server中更改存儲過程,就是用新定義的存儲過程替換原來的定義。語句格式: ALTER PROCEDURE 同定義從當前數(shù)據(jù)庫刪除用戶定義的存儲過程。語句格式: DROP PROCEDURE 2.觸發(fā)器(Trigger) 對應于數(shù)據(jù)的操縱類型,SQL Server 中的觸發(fā)器可分為:INSERT觸發(fā)器UPDATE觸發(fā)器DEL
5、ETE觸發(fā)器 當表中數(shù)據(jù)被修改(增、刪、改)時,SQL Server自動執(zhí)行相應的觸發(fā)器。建立觸發(fā)器的語句格式CREATE TRIGGER 觸發(fā)器名 ON 表名 |視圖名 WITH ENCRYPTION FOR INSERT,UPDATA,DELETE AS SQL操作語句表名(視圖名):觸發(fā)該觸發(fā)器的表名或視圖名。WITH ENCRYPTION: 對觸發(fā)器的定義文本加密。INSERT,UPDATA,DELETE :說明觸發(fā)觸發(fā)器的事件。一個定義語句允許定義多個觸發(fā)事件。 SQL操作語句:指定觸發(fā)器動作。如果要指定多個觸發(fā)器操作,需用BEGINEND將它們組成語句塊。觸發(fā)器中可使用的特殊表使用
6、觸發(fā)器時,SQL Server提供了兩張?zhí)厥獾呐R時表: inserted表deleted表 表存在于高速緩存中,與創(chuàng)建觸發(fā)器的表有相同的結構。用戶可以使用該表檢查某些修改操作的前后狀態(tài)。并基于此狀態(tài)采取行動。例如,可以使用該表的內容作為查詢操作的判斷條件,但要在FROM中寫出使用的表名(inserted 或deleted)。用戶不能直接修改該表中的數(shù)據(jù)。臨時表inserted表:存放INSERTE和UPDATE語句的新數(shù)據(jù)。deleted表:存放DELETE和UPDATE語句的舊數(shù)據(jù)。UPDATE觸發(fā)器可使用deleted表和inserted表INSERT類觸發(fā)器INSERT 觸發(fā)器:每在學生
7、備份表中增加一條記錄時,同時要在學生表中刪除一條相應的學生記錄。CREATE TRIGGER student_BACKON student_bFOR INSERTAS DELETE from student FROM student_b WHERE student.sno = student_b.snoUPDATE類觸發(fā)器例:對成績表SC中的grade屬性執(zhí)行update語句時觸發(fā):修改成績時,如果新成績比原成績低,則恢復原成績而不做修改。CREATE TRIGGER up_grade ON sc FOR UPDATE AS UPDATE sc SET grade=deleted.grade
8、from deleted WHERE sc.sno = deleted.sno And o=o AND sc.gradeY時:返回值12,提示“X應小于Y!”當查找后沒有滿足條件的記錄時:返回值-10,提示“對不起!沒有滿足條件的記錄!”(2)建立存儲過程P2,查詢選修了某門課程的學生信息(其中課程名,返回值自行設計)(3)建立存儲過程P3,將某一專業(yè)的所有學生的成績放在一個臨時表中(4)建立存儲過程P4,計算某一個專業(yè)的某一門課和的平均成績,顯示出專業(yè)名稱、課程名稱和平均成績 2)在學生表、成績表和課程表中輸入原始數(shù)據(jù)后,運行上述所建立的存儲過程,觀察其執(zhí)行結果。2、觸發(fā)器的創(chuàng)建與執(zhí)行注意:在建立以下的觸發(fā)器時,請刪除各個之間的參照完整性和用戶定義完整性1)觸發(fā)器的建立(1)在課程表和成績表上建立一組觸發(fā)器,實現(xiàn)課程表中的課程號與成績表中的課程號之間的參照關系。(2)在學生表上建立一個插入和修改觸發(fā)器,實現(xiàn)當修改學生性別時,檢查是否取值在“男”或“女”之間,如果是,由插入或修改成功,否由失敗(3)在成績表上建立一個修改類的觸發(fā)器,實現(xiàn)當修改成績時,檢查修改后的成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 摩托車駕駛技巧專項訓練考核試卷
- 2025-2030年商用電磁灶遠程操作行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年即食豆腐沙拉企業(yè)制定與實施新質生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年護眼鹵制營養(yǎng)品行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年按摩椅家庭影院組合企業(yè)制定與實施新質生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年地震災后搜救機器人行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年扇貝裙邊罐頭禮盒行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年即食酸奶果粒杯企業(yè)制定與實施新質生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年可調節(jié)RGB燈光效果的耳機行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年地中海風情堅果拼盤企業(yè)制定與實施新質生產(chǎn)力戰(zhàn)略研究報告
- 交通信號控制系統(tǒng)檢驗批質量驗收記錄表
- Bankart損傷的診療進展培訓課件
- 護理部用藥安全質量評價標準
- 校園信息化設備管理檢查表
- 新版抗拔樁裂縫及強度驗算計算表格(自動版)
- API SPEC 5DP-2020鉆桿規(guī)范
- 創(chuàng)新思維課件(完整版)
- DB34∕T 4161-2022 全過程工程咨詢服務管理規(guī)程
- 部編版小學生語文教師:統(tǒng)編版語文1-6年級語文要素梳理
- 注塑成型工藝參數(shù)知識講解
- 安全生產(chǎn)專業(yè)化管理
評論
0/150
提交評論