![MySQL數(shù)據(jù)庫(kù)原理與應(yīng)用(微課版)ch12觸發(fā)器_第1頁(yè)](http://file4.renrendoc.com/view9/M03/3E/3D/wKhkGWdAAnaAGWyxAACAYHnc6F0522.jpg)
![MySQL數(shù)據(jù)庫(kù)原理與應(yīng)用(微課版)ch12觸發(fā)器_第2頁(yè)](http://file4.renrendoc.com/view9/M03/3E/3D/wKhkGWdAAnaAGWyxAACAYHnc6F05222.jpg)
![MySQL數(shù)據(jù)庫(kù)原理與應(yīng)用(微課版)ch12觸發(fā)器_第3頁(yè)](http://file4.renrendoc.com/view9/M03/3E/3D/wKhkGWdAAnaAGWyxAACAYHnc6F05223.jpg)
![MySQL數(shù)據(jù)庫(kù)原理與應(yīng)用(微課版)ch12觸發(fā)器_第4頁(yè)](http://file4.renrendoc.com/view9/M03/3E/3D/wKhkGWdAAnaAGWyxAACAYHnc6F05224.jpg)
![MySQL數(shù)據(jù)庫(kù)原理與應(yīng)用(微課版)ch12觸發(fā)器_第5頁(yè)](http://file4.renrendoc.com/view9/M03/3E/3D/wKhkGWdAAnaAGWyxAACAYHnc6F05225.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第12章
觸發(fā)器本章概述MySQL的觸發(fā)器和存儲(chǔ)過(guò)程一樣,都是嵌入MySQL的一段程序。觸發(fā)器是由事件來(lái)觸發(fā)某個(gè)操作的,這些事件包括INSERT、UPDATAE和DELETE語(yǔ)句。如果定義了觸發(fā)程序,當(dāng)數(shù)據(jù)庫(kù)執(zhí)行這些語(yǔ)句的時(shí)候就會(huì)激發(fā)觸發(fā)器執(zhí)行相應(yīng)的操作,觸發(fā)程序是與表有關(guān)的命名數(shù)據(jù)庫(kù)對(duì)象,當(dāng)表上出現(xiàn)特定事件時(shí),將激活該對(duì)象。本章學(xué)習(xí)目標(biāo)了解什么是觸發(fā)器;掌握創(chuàng)建、查看、刪除觸發(fā)器的方法;掌握觸發(fā)器的使用技巧;熟練掌握綜合使用觸發(fā)器的方法和技巧。目錄01020304觸發(fā)器的使用查看觸發(fā)器刪除觸發(fā)器創(chuàng)建觸發(fā)器05觸發(fā)器綜合示例06本章小結(jié)創(chuàng)建觸發(fā)器觸發(fā)器是一個(gè)特殊的存儲(chǔ)過(guò)程,不同的是,執(zhí)行存儲(chǔ)過(guò)程要使用CALL語(yǔ)句來(lái)調(diào)用,而觸發(fā)器的執(zhí)行不需要使用CALL語(yǔ)句來(lái)調(diào)用,也不需要手工啟動(dòng),只要當(dāng)一個(gè)預(yù)定義的事件發(fā)生的時(shí)候,就會(huì)被MySQL自動(dòng)調(diào)用。比如當(dāng)對(duì)tb_fruits表進(jìn)行操作(INSERT、DELETE或UPDATE)時(shí)就會(huì)激活它執(zhí)行。創(chuàng)建只有一個(gè)執(zhí)行語(yǔ)句的觸發(fā)器創(chuàng)建觸發(fā)器創(chuàng)建一個(gè)觸發(fā)器的語(yǔ)法如下:CREATETRIGGERtrigger_nametrigger_timetrigger_eventONtbl_nameFOREACHROWtrigger_stmt其中,trigger_name表示觸發(fā)器名稱,用戶自行指定;trigger_time表示觸發(fā)時(shí)機(jī),可以指定為before或after;trigger_event表示觸發(fā)事件,包括INSERT、UPDATE和DELETE;tbl_name表示建立觸發(fā)器的表名,即在哪張表上建立觸發(fā)器;trigger_stmt是觸發(fā)器執(zhí)行語(yǔ)句。創(chuàng)建只有一個(gè)執(zhí)行語(yǔ)句的觸發(fā)器創(chuàng)建觸發(fā)器【例12-1】創(chuàng)建一個(gè)單執(zhí)行語(yǔ)句的觸發(fā)器,代碼如下:CREATETABLEtb_account(acct_numINT,amountDECIMAL(10,2));CREATETRIGGERins_sumBEFOREINSERTONtb_accountFOREACHROWSET@sum=@sum+NEW.amount;代碼執(zhí)行結(jié)果如圖所示。創(chuàng)建只有一個(gè)執(zhí)行語(yǔ)句的觸發(fā)器創(chuàng)建觸發(fā)器創(chuàng)建多個(gè)執(zhí)行語(yǔ)句的觸發(fā)器,語(yǔ)法格式如下:CREATETRIGGERtrigger_nametrigger_timetrigger_eventONtbl_nameFOREACHROWBEGIN語(yǔ)句執(zhí)行列表END其中,trigger_name表示觸發(fā)器的名稱,用戶自行指定;trigger_time表示觸發(fā)時(shí)機(jī),可以指定為before或after;trigger_event表示觸發(fā)事件,包括INSERT、UPDATE和DELETE;tbl_name表示建立觸發(fā)器的表名,即在哪張表上建立觸發(fā)器;觸發(fā)器程序可以使用BEGIN和END作為開(kāi)始和結(jié)束,中間包含多條語(yǔ)句。創(chuàng)建有多個(gè)執(zhí)行語(yǔ)句的觸發(fā)器目錄觸發(fā)器的使用查看觸發(fā)器刪除觸發(fā)器創(chuàng)建觸發(fā)器觸發(fā)器綜合示例本章小結(jié)010203040506查看觸發(fā)器信息通過(guò)SHOWTRIGGERS語(yǔ)句查看觸發(fā)器信息的語(yǔ)句如下:SHOWTRIGGERS;查看觸發(fā)器查看觸發(fā)器在MySQL中,所有觸發(fā)器的定義都存在于INFORMATION_SCHEMA數(shù)據(jù)庫(kù)的TRIGGERS表格中,可以通過(guò)查詢命令SELECT來(lái)查看,具體的語(yǔ)法如下:SELECT*FROMINFORMATION_SCHEMA.TRIGGERSWHEREcondition;查看觸發(fā)器目錄觸發(fā)器的使用查看觸發(fā)器刪除觸發(fā)器創(chuàng)建觸發(fā)器觸發(fā)器綜合示例本章小結(jié)010405060302觸發(fā)器的使用觸發(fā)程序與表相關(guān),當(dāng)對(duì)表執(zhí)行INSERT、DELETE或UPDATE語(yǔ)句時(shí),將激活觸發(fā)程序。可以將觸發(fā)程序設(shè)置為在執(zhí)行語(yǔ)句之前或之后激活。例如,可以在從表中刪除每一行之前,或在更新每一行之后激活觸發(fā)程序。目錄觸發(fā)器的使用查看觸發(fā)器刪除觸發(fā)器創(chuàng)建觸發(fā)器觸發(fā)器綜合示例本章小結(jié)010506020403刪除觸發(fā)器使用DROPTRIGGER語(yǔ)句可以刪除MySQL中已經(jīng)定義的觸發(fā)器,刪除觸發(fā)器的基本語(yǔ)法格式如下:DROPTRIGGER[schema_name.]trigger_name其中,schema_name表示數(shù)據(jù)庫(kù)名稱,是可選的,如果省略了schema,那么將從當(dāng)前數(shù)據(jù)庫(kù)中舍棄觸發(fā)程序;trigger_name是要?jiǎng)h除的觸發(fā)器的名稱。刪除觸發(fā)器目錄觸發(fā)器的使用查看觸發(fā)器刪除觸發(fā)器創(chuàng)建觸發(fā)器觸發(fā)器綜合示例本章小結(jié)010602030504觸發(fā)器綜合示例創(chuàng)建觸發(fā)器的實(shí)例,每更新一次tb_persons表的num字段后,都要更新tb_sales表對(duì)應(yīng)的sum字段。字段名數(shù)據(jù)類型主鍵外鍵非空唯一自增namevarchar(40)否否是否否numint(11)否否是否否字段名數(shù)據(jù)類型主鍵外鍵非空唯一自增namevarchar(40)否否是否否sumint(11)否否是否否觸發(fā)器綜合示例(1)創(chuàng)建一個(gè)業(yè)務(wù)統(tǒng)計(jì)表tb_persons,代碼如下:CREATETABLEtb_persons(nameVARCHAR(40),numint);(2)創(chuàng)建一個(gè)銷售額表tb_sales,代碼如下:CREATETABLEtb_sales(nameVARCHAR(40),sumINT);(3)創(chuàng)建一個(gè)觸發(fā)器。創(chuàng)建一個(gè)觸發(fā)器,在更新過(guò)tb_persons表的num字段后,更新tb_sales表的sum字段,代碼如下:CREATETRIGGERnum_sumAFTERINSERTONtb_personsFOREACHROWINSERTINTOtb_salesVALUES(NEW.name,7*NEW.num);向tb_persons表中插入記錄。插入新的記錄后,更新銷售額表。INSERTINTOtb_personsVALUES('xiaoxiao',20),('xiaohua',69);執(zhí)行查詢?nèi)缦拢篠ELECT*FROMtb_persons;SELECT*FROMtb_sales;目錄觸發(fā)器的使用查看觸發(fā)器刪除觸發(fā)器創(chuàng)建觸發(fā)器觸發(fā)器綜合示例本章小結(jié)010203040605本章小結(jié)MySQL的觸發(fā)器和存儲(chǔ)過(guò)程一樣,都是嵌入MySQL的一段程序。觸發(fā)器是由事件來(lái)觸發(fā)某個(gè)操作的,這些事件包括INSERT、UPDATAE和DELETE語(yǔ)句。如果定義了觸發(fā)程序,當(dāng)數(shù)據(jù)庫(kù)執(zhí)行這些語(yǔ)句的時(shí)候就會(huì)激發(fā)觸發(fā)器執(zhí)行相應(yīng)的操作,觸發(fā)程序是與表有關(guān)的命名數(shù)據(jù)庫(kù)對(duì)象,當(dāng)表上出現(xiàn)特定事件時(shí),將激活該觸發(fā)器對(duì)象。本章首先詳細(xì)介紹了觸發(fā)器的創(chuàng)建,包括單執(zhí)行語(yǔ)句
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)境評(píng)估服務(wù)合同(2篇)
- 北師大版歷史七年級(jí)下冊(cè)第2課《唐太宗與貞觀之治》聽(tīng)課評(píng)課記錄
- 新北師大版三年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)聽(tīng)評(píng)課記錄
- 五年級(jí)數(shù)學(xué)下冊(cè)聽(tīng)評(píng)課記錄《3.4 倒數(shù)(1)》北師大版
- 二年級(jí)教學(xué)計(jì)劃
- 七年級(jí)下學(xué)期道德與法治人教版《節(jié)奏與旋律》聽(tīng)課評(píng)課記錄
- 運(yùn)輸安全合同范本
- 養(yǎng)生會(huì)館托管協(xié)議書(shū)范本
- 股權(quán)互換戰(zhàn)略合作協(xié)議書(shū)范本
- 薪酬績(jī)效咨詢項(xiàng)目合同范本
- 2024年臨床醫(yī)師定期考核試題中醫(yī)知識(shí)題庫(kù)及答案(共330題) (二)
- 2025-2030年中國(guó)反滲透膜行業(yè)市場(chǎng)發(fā)展趨勢(shì)展望與投資策略分析報(bào)告
- 湖北省十堰市城區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末質(zhì)量檢測(cè)道德與法治試題 (含答案)
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期1月期末 英語(yǔ)試題
- 春節(jié)節(jié)后收心會(huì)
- 《榜樣9》觀后感心得體會(huì)四
- 七年級(jí)下冊(cè)英語(yǔ)單詞表(人教版)-418個(gè)
- 2025年山東省濟(jì)寧高新區(qū)管委會(huì)“優(yōu)才”招聘20人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中國(guó)社會(huì)科學(xué)評(píng)價(jià)研究院第一批專業(yè)技術(shù)人員招聘2人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 交警安全進(jìn)校園課件
- (2024年高考真題)2024年普通高等學(xué)校招生全國(guó)統(tǒng)一考試數(shù)學(xué)試卷-新課標(biāo)Ⅰ卷(含部分解析)
評(píng)論
0/150
提交評(píng)論