版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器深圳職業(yè)技術(shù)學(xué)院深圳職業(yè)技術(shù)學(xué)院 大型數(shù)據(jù)庫課程組大型數(shù)據(jù)庫課程組大型數(shù)據(jù)庫大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器2 2【知識(shí)目標(biāo)】【知識(shí)目標(biāo)】|理解觸發(fā)器的作用。|應(yīng)能熟練創(chuàng)建、修改、刪除觸發(fā)器。|掌握觸發(fā)器的禁用和啟用方法?!炯寄苣繕?biāo)】|能根據(jù)需要?jiǎng)?chuàng)建、修改、刪除觸發(fā)器。|會(huì)根據(jù)需要禁用、啟用觸發(fā)器。大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器3任務(wù)陳述|在學(xué)生選課數(shù)據(jù)庫xk中,每當(dāng)學(xué)生報(bào)名、取消選修
2、課程時(shí),都需要更新課程表中相應(yīng)課程的報(bào)名人數(shù)?,F(xiàn)在需要編寫程序,當(dāng)學(xué)生報(bào)名或取消選修課程時(shí),程序會(huì)自動(dòng)更新課程表的報(bào)名人數(shù)信息。|在學(xué)生選課數(shù)據(jù)庫xk中創(chuàng)建觸發(fā)器,并根據(jù)需要修改、刪除觸發(fā)器 大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器4 4思考:當(dāng)學(xué)生報(bào)名選修sqlserver實(shí)用技術(shù)課程時(shí),willnum應(yīng)自動(dòng)加1,如何處理?大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器5 5|觸發(fā)器觸發(fā)器:一種特殊的存儲(chǔ)過程,該存儲(chǔ)過程在指定的表中數(shù)據(jù)發(fā)生
3、變化時(shí)被自動(dòng)調(diào)用以響應(yīng)insert、update或delete事件。|作用作用:強(qiáng)制執(zhí)行業(yè)務(wù)規(guī)則|觸發(fā)器的兩個(gè)表及作用觸發(fā)器的兩個(gè)表及作用: inserted、deleted表 為什么沒有updated表?|觸發(fā)器類型:后觸發(fā)、替代觸發(fā)。大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器6 6|系統(tǒng)為每個(gè)觸發(fā)器都自動(dòng)創(chuàng)建了inserted表和deleted表|inserted表用于存放插入操作時(shí)的行;deleted表用于存放刪除操作時(shí)的行|這兩個(gè)表的結(jié)構(gòu)和被觸發(fā)器作用的表的結(jié)構(gòu)相同|用戶不能對(duì)這兩個(gè)表進(jìn)行修改,但可以讀取大型
4、數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器7 7|創(chuàng)建觸發(fā)器創(chuàng)建觸發(fā)器:create trigger trigger_nameon tablewith encryptionfor|after| instead of insert update deleteas sql_statement|查看觸發(fā)器信息查看觸發(fā)器信息大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器8創(chuàng)建觸發(fā)器|【問題121】創(chuàng)建后觸發(fā)觸發(fā)器update_student_trigger
5、。實(shí)現(xiàn)每當(dāng)修改student表的數(shù)據(jù)時(shí),在客戶端顯示“已修改student表的數(shù)據(jù)?!钡南?。 創(chuàng)建創(chuàng)建(略) 寫出語句進(jìn)行測(cè)試,是否自動(dòng)觸發(fā)了觸發(fā)器。大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器9 9|【問題】將題中的for update改為instead of或者after,觀察執(zhí)行結(jié)果有何不同。|小結(jié)小結(jié):z使用for/after時(shí),執(zhí)行觸發(fā)sql語句(insert/update/delete):在觸發(fā)sql語句成功執(zhí)行后,再激活并執(zhí)行觸發(fā)器。z使用instead of時(shí):執(zhí)行觸發(fā)器而不執(zhí)行觸發(fā)sql語句。大型
6、數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器10修改觸發(fā)器|當(dāng)修改的數(shù)據(jù)在student表中不存在時(shí),也顯示修改的信息,這是程序的bug。|【問題122】修改觸發(fā)器update_student_trigger。在確實(shí)修改了student表中的數(shù)據(jù)后顯示“已修改student表的數(shù)據(jù)?!?,否則顯示“不存在要修改的數(shù)據(jù)?!?。|使用alter trigger語句修改觸發(fā)器。大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器11創(chuàng)建、修改觸發(fā)器|【問題124】創(chuàng)
7、建替代觸發(fā)器update_department_trigger。修改department表的數(shù)據(jù)時(shí)觸發(fā)了觸發(fā)器,用執(zhí)行觸發(fā)器中的語句替代觸發(fā)的sql語句。|【問題125】創(chuàng)建一個(gè)觸發(fā)器。實(shí)現(xiàn)當(dāng)插入、更新或刪除stucou表的選課數(shù)據(jù)行時(shí),能同時(shí)更新course表中相應(yīng)的報(bào)名人數(shù)。 |【問題126】使用if update(column)。修改update_department_trigger觸發(fā)器,每當(dāng)修改department表departname列的數(shù)據(jù)時(shí),在客戶端顯示“已修改系部名稱?!?大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器
8、創(chuàng)建與管理觸發(fā)器1212|特點(diǎn):只有當(dāng)if update指明的列發(fā)生修改/插入時(shí),才觸發(fā)執(zhí)行觸發(fā)器。if update不響應(yīng)delete操作。|sql server允許為每個(gè)事件(delete、insert、update)創(chuàng)建多個(gè)觸發(fā)器。|【問題127】在一個(gè)表上創(chuàng)建多個(gè)觸發(fā)器。為department表再創(chuàng)建一個(gè)update觸發(fā)器test_trigger,每當(dāng)修改department表的數(shù)據(jù)時(shí),在客戶端顯示“二次觸發(fā)!”。大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器1313|重命名觸發(fā)器sql格式:sp_rename
9、oldname, newname|刪除觸發(fā)器sql格式:drop trigger trigger_namez說明:刪除觸發(fā)器所在的表時(shí),sql server將會(huì)自動(dòng)刪除與該表相關(guān)的觸發(fā)器大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器1414|禁用觸發(fā)器234頁 alter table table_name disable trigger trigger_name|啟用觸發(fā)器233頁 alter table table_name enable trigger trigger_name|顯看數(shù)據(jù)庫的觸發(fā)器:查詢sysobje
10、cts系統(tǒng)表,234頁【問題12.13】大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器15151. 創(chuàng)建一個(gè)觸發(fā)器,要求每當(dāng)用戶向student表插入記錄時(shí),自動(dòng)顯示student表中插入的記錄2. 創(chuàng)建一個(gè)觸發(fā)器,要求每當(dāng)用戶向stucou表插入記錄時(shí),自動(dòng)顯示插入記錄中的課程編號(hào)大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器16161.為class表創(chuàng)建一個(gè)觸發(fā)器,當(dāng)刪除class表中的數(shù)據(jù)時(shí)(班級(jí)撤銷),將student表中相關(guān)學(xué)生的班級(jí)編碼
11、設(shè)置為“待定”。2.設(shè)計(jì)一個(gè)觸發(fā)器,當(dāng)class表的班級(jí)編碼發(fā)生變化時(shí),能自動(dòng)地更新student表中相應(yīng)的記錄級(jí)聯(lián)修改。大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器1717|create trigger要在單個(gè)批處理中執(zhí)行|on table中的表格只能是一個(gè)|在同一條create trigger語句中,可以為多個(gè)事件( insert/delete/update)定義相同的觸發(fā)器操作|可以為每個(gè)事件(insert/delete/update)創(chuàng)建多個(gè)觸發(fā)器大型數(shù)據(jù)庫(大型數(shù)據(jù)庫(sql serversql server) 單元單元12 12 創(chuàng)建與管理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州大學(xué)《舞臺(tái)實(shí)踐與服務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴州財(cái)經(jīng)職業(yè)學(xué)院《固態(tài)照明與顯示技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年黑龍江省安全員B證考試題庫附答案
- 2025山東省建筑安全員B證考試題庫
- 貴陽信息科技學(xué)院《中小學(xué)生心理輔導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 硅湖職業(yè)技術(shù)學(xué)院《幼兒科學(xué)教育與活動(dòng)指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州幼兒師范高等專科學(xué)?!锻鈬膶W(xué)史1》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025湖北省安全員知識(shí)題庫
- 2025福建省安全員B證考試題庫及答案
- 2025江西省建筑安全員-B證考試題庫附答案
- 2024年度特許經(jīng)營合同連鎖酒店品牌授權(quán)與管理2篇
- 【MOOC】計(jì)算機(jī)組成原理-電子科技大學(xué) 中國大學(xué)慕課MOOC答案
- 廣東省潮州市2023-2024學(xué)年高二上學(xué)期期末考試 數(shù)學(xué) 含解析
- 2024年度技術(shù)咨詢合同:某科技公司與某政府機(jī)構(gòu)關(guān)于技術(shù)咨詢服務(wù)的協(xié)議(2024版)2篇
- 老年緩和醫(yī)療
- 醫(yī)療科研配色
- 2024年保安員資格考試題目及答案(共60題)
- 期末復(fù)習(xí)基礎(chǔ)卷(試題)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)人教版
- 急性胰腺炎的急救處理與家庭護(hù)理要點(diǎn)課件
- 糖尿病伴消化系統(tǒng)疾病飲食
- 2024年放射科應(yīng)急預(yù)案演練(大全)
評(píng)論
0/150
提交評(píng)論