版權(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ù)庫(kù)課程組大型數(shù)據(jù)庫(kù)課程組大型數(shù)據(jù)庫(kù)大型數(shù)據(jù)庫(kù)(大型數(shù)據(jù)庫(kù)(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ù)庫(kù)(大型數(shù)據(jù)庫(kù)(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器3任務(wù)陳述|在學(xué)生選課數(shù)據(jù)庫(kù)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ù)庫(kù)xk中創(chuàng)建觸發(fā)器,并根據(jù)需要修改、刪除觸發(fā)器 大型數(shù)據(jù)庫(kù)(大型數(shù)據(jù)庫(kù)(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ù)庫(kù)(大型數(shù)據(jù)庫(kù)(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ù)庫(kù)(大型數(shù)據(jù)庫(kù)(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ù)庫(kù)(大型數(shù)據(jù)庫(kù)(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ù)庫(kù)(大型數(shù)據(jù)庫(kù)(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)建(略) 寫出語(yǔ)句進(jìn)行測(cè)試,是否自動(dòng)觸發(fā)了觸發(fā)器。大型數(shù)據(jù)庫(kù)(大型數(shù)據(jù)庫(kù)(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語(yǔ)句(insert/update/delete):在觸發(fā)sql語(yǔ)句成功執(zhí)行后,再激活并執(zhí)行觸發(fā)器。z使用instead of時(shí):執(zhí)行觸發(fā)器而不執(zhí)行觸發(fā)sql語(yǔ)句。大型
6、數(shù)據(jù)庫(kù)(大型數(shù)據(jù)庫(kù)(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ù)?!保駝t顯示“不存在要修改的數(shù)據(jù)?!薄使用alter trigger語(yǔ)句修改觸發(fā)器。大型數(shù)據(jù)庫(kù)(大型數(shù)據(jù)庫(kù)(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ā)器中的語(yǔ)句替代觸發(fā)的sql語(yǔ)句。|【問題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ù)庫(kù)(大型數(shù)據(jù)庫(kù)(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ù)庫(kù)(大型數(shù)據(jù)庫(kù)(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ù)庫(kù)(大型數(shù)據(jù)庫(kù)(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器1414|禁用觸發(fā)器234頁(yè) alter table table_name disable trigger trigger_name|啟用觸發(fā)器233頁(yè) alter table table_name enable trigger trigger_name|顯看數(shù)據(jù)庫(kù)的觸發(fā)器:查詢sysobje
10、cts系統(tǒng)表,234頁(yè)【問題12.13】大型數(shù)據(jù)庫(kù)(大型數(shù)據(jù)庫(kù)(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ù)庫(kù)(大型數(shù)據(jù)庫(kù)(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ù)庫(kù)(大型數(shù)據(jù)庫(kù)(sql serversql server) 單元單元12 12 創(chuàng)建與管理觸發(fā)器創(chuàng)建與管理觸發(fā)器1717|create trigger要在單個(gè)批處理中執(zhí)行|on table中的表格只能是一個(gè)|在同一條create trigger語(yǔ)句中,可以為多個(gè)事件( insert/delete/update)定義相同的觸發(fā)器操作|可以為每個(gè)事件(insert/delete/update)創(chuàng)建多個(gè)觸發(fā)器大型數(shù)據(jù)庫(kù)(大型數(shù)據(jù)庫(kù)(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)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代信息技術(shù)在城市公共安全中的重要作用
- 現(xiàn)代教育中系統(tǒng)性能監(jiān)控的應(yīng)用
- 吊裝危險(xiǎn)作業(yè)方案
- 7《什么比獵豹的速度更快》(說課稿)-2024-2025學(xué)年統(tǒng)編版語(yǔ)文五年級(jí)上冊(cè)
- 27紀(jì)昌學(xué)射(說課稿)2024-2025學(xué)年四年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版
- 8賣火柴的小女孩 第二課時(shí) 說課稿 -2024-2025學(xué)年語(yǔ)文三年級(jí)上冊(cè)統(tǒng)編版
- 5《走近我們的老師》說課稿-2024-2025學(xué)年道德與法治三年級(jí)上冊(cè)統(tǒng)編版
- Unit4 Then and Now(說課稿)-2024-2025學(xué)年譯林版(三起)英語(yǔ)六年級(jí)上冊(cè)
- 2024年六年級(jí)品社下冊(cè)《走出國(guó)門》說課稿 山東版
- 4我們的公共生活(說課稿)-2023-2024學(xué)年道德與法治五年級(jí)下冊(cè)統(tǒng)編版
- 2024年執(zhí)業(yè)醫(yī)師考試-醫(yī)師定期考核(口腔)筆試參考題庫(kù)含答案
- 中國(guó)律師學(xué) 課件 陳衛(wèi)東 第10-17章 律師收費(fèi)制度-律師非訴訟業(yè)務(wù)(二)
- 宮頸癌后裝治療及護(hù)理
- 2024年度-IATF16949運(yùn)行培訓(xùn)課件
- 理解師生關(guān)系的重要性
- 統(tǒng)編版語(yǔ)文八年級(jí)下冊(cè)第7課《大雁歸來》分層作業(yè)(原卷版+解析版)
- 2024年湖南省普通高中學(xué)業(yè)水平考試政治試卷(含答案)
- 零售企業(yè)加盟管理手冊(cè)
- 設(shè)備維保的維修流程與指導(dǎo)手冊(cè)
- 招標(biāo)代理服務(wù)的關(guān)鍵流程與難點(diǎn)解析
- 材料預(yù)定協(xié)議
評(píng)論
0/150
提交評(píng)論