




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、實驗目的(1)理解存儲過程的概念,掌握存儲過程的使用方法,加深對客戶/服務機制的理解。(2)學習觸發器的使用,體會觸發器執行的時機,加深對觸發器功能和作用的理解知識回顧1.創建存儲過程建立存儲過程的語句如下:CREATE PROCEDURE過程名(參數表)AS SQL語句創建存儲過程示例創建一個不帶參數的存儲過程CREATE PROCEDURE brow_student AS SELECT * FROM student WHERE classno=200501執行存儲過程的方法(1) 獨立執行存儲過程:EXEC brow_student (2) 在INSERT語句中執行存儲過程: INSE
2、RT INTO student_b EXEC brow_student 創建帶參數的存儲過程例:顯示指定學號的學生信息。CREATE PROCEDURE stu_proc1 sno1 char(8)AS SELECT * FROM student WHERE sno=sno1 例:為參數設置缺省值。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 同定義從當前數據庫刪除用戶定義的存儲過程。語句格式: DROP PROCEDURE 2.觸發器(Trigger) 對應于數據的操縱類型,SQL Server 中的觸發器可分為:INSERT觸發器UPDATE觸發器DEL
5、ETE觸發器 當表中數據被修改(增、刪、改)時,SQL Server自動執行相應的觸發器。建立觸發器的語句格式CREATE TRIGGER 觸發器名 ON 表名 |視圖名 WITH ENCRYPTION FOR INSERT,UPDATA,DELETE AS SQL操作語句表名(視圖名):觸發該觸發器的表名或視圖名。WITH ENCRYPTION: 對觸發器的定義文本加密。INSERT,UPDATA,DELETE :說明觸發觸發器的事件。一個定義語句允許定義多個觸發事件。 SQL操作語句:指定觸發器動作。如果要指定多個觸發器操作,需用BEGINEND將它們組成語句塊。觸發器中可使用的特殊表使用
6、觸發器時,SQL Server提供了兩張特殊的臨時表: inserted表deleted表 表存在于高速緩存中,與創建觸發器的表有相同的結構。用戶可以使用該表檢查某些修改操作的前后狀態。并基于此狀態采取行動。例如,可以使用該表的內容作為查詢操作的判斷條件,但要在FROM中寫出使用的表名(inserted 或deleted)。用戶不能直接修改該表中的數據。臨時表inserted表:存放INSERTE和UPDATE語句的新數據。deleted表:存放DELETE和UPDATE語句的舊數據。UPDATE觸發器可使用deleted表和inserted表INSERT類觸發器INSERT 觸發器:每在學生
7、備份表中增加一條記錄時,同時要在學生表中刪除一條相應的學生記錄。CREATE TRIGGER student_BACKON student_bFOR INSERTAS DELETE from student FROM student_b WHERE student.sno = student_b.snoUPDATE類觸發器例:對成績表SC中的grade屬性執行update語句時觸發:修改成績時,如果新成績比原成績低,則恢復原成績而不做修改。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,將某一專業的所有學生的成績放在一個臨時表中(4)建立存儲過程P4,計算某一個專業的某一門課和的平均成績,顯示出專業名稱、課程名稱和平均成績 2)在學生表、成績表和課程表中輸入原始數據后,運行上述所建立的存儲過程,觀察其執行結果。2、觸發器的創建與執行注意:在建立以下的觸發器時,請刪除各個之間的參照完整性和用戶定義完整性1)觸發器的建立(1)在課程表和成績表上建立一組觸發器,實現課程表中的課程號與成績表中的課程號之間的參照關系。(2)在學生表上建立一個插入和修改觸發器,實現當修改學生性別時,檢查是否取值在“男”或“女”之間,如果是,由插入或修改成功,否由失敗(3)在成績表上建立一個修改類的觸發器,實現當修改成績時,檢查修改后的成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河池市宜州區特崗教師招聘筆試真題2024
- 2024年新疆地方金融監督管理局下屬事業單位真題
- 石大學前兒童保育學課件5-2提高保教活動質量促進幼兒健康發展
- 2025年社區工作者理論試題
- MoS2-MXene@CNTs-nZVI活化過硫酸鹽去除水中二嗪農的研究
- 基于深度學習的乳腺影像分割-洞察闡釋
- 促進體育文化與全民健身服務的融合發展
- 綠色園區社會責任與企業形象塑造
- 深化產學研合作加速技術應用轉化
- 家庭教育服務與社區互動的優化策略
- 小學一年級《讀讀童謠和兒歌》閱讀考級測試題附答案
- 廣州市人力資源和社會保障局事業單位招聘工作人員【共500題含答案解析】模擬檢測試卷
- 露天礦礦建竣工驗收資料
- 心電監護操作評分標準
- 電子印鑒卡講解
- 生命體征PPT精品課件
- 異步電動機轉差頻率間接矢量控制matlab仿真
- Q∕SY 02098-2018 施工作業用野營房
- 深基坑工程安全檢查表范本
- 高中必備古詩文75篇高中古詩大全必背
- 聲門下吸引技術ppt課件
評論
0/150
提交評論