




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
創(chuàng)建觸發(fā)器本節(jié)內(nèi)容1.創(chuàng)建INSERT類型觸發(fā)器2.創(chuàng)建DELETE類型觸發(fā)器3.創(chuàng)建UPDATE類型觸發(fā)器創(chuàng)建觸發(fā)器觸發(fā)器是一種特殊的存儲過程,主要通過事件進行觸發(fā)而自動執(zhí)行。觸發(fā)器可以在向數(shù)據(jù)表中插入、修改或刪除數(shù)據(jù)時進行檢查,以保證數(shù)據(jù)的完整性和一致性。創(chuàng)建觸發(fā)器使用CREATETRIGGER語句。01創(chuàng)建INSERT類型觸發(fā)器1.創(chuàng)建INSERT類型觸發(fā)器在圖形管理工具MySQL中對studb數(shù)據(jù)庫中student表進行以下操作:(1)創(chuàng)建觸發(fā)器tr_insert_student,該觸發(fā)器功能為向?qū)W生表(student)中插入一行數(shù)據(jù)之前,檢查total_credits字段,如果total_credits值小于5,則設(shè)置total_credits值為10,并進行測試。(2)創(chuàng)建觸發(fā)器tr_insert_score,實現(xiàn)當(dāng)向成績表“score”插入一行數(shù)據(jù)時,根據(jù)成績對學(xué)生表“student”的總學(xué)分進行修改。如果成績>=60,總學(xué)分加上該課程的學(xué)分。否則總學(xué)分不變。【任務(wù)描述】任務(wù)要求在插入數(shù)據(jù)之前對學(xué)分進行檢查,所以觸發(fā)時刻用BEFORE關(guān)鍵字,題目要求是插入數(shù)據(jù),因此觸發(fā)事件用INSERT,題目要求向?qū)W生表(student)中插入數(shù)據(jù),所以表名用student。【任務(wù)分析】1.創(chuàng)建INSERT類型觸發(fā)器(1)創(chuàng)建觸發(fā)器tr_insert_student。【任務(wù)實施】①在Navicat查詢編輯器窗口輸入以下SQL語句,并執(zhí)行。1.創(chuàng)建INSERT類型觸發(fā)器【任務(wù)實施】②在Navicat查詢編輯器窗口輸入以下SQL語句,并執(zhí)行。INSERTINTOstudentVALUES('23000109','王澤','男','2004-04-13','信息工程系','22大數(shù)據(jù)1',2);③查看student表數(shù)據(jù)。插入語句中設(shè)置的total_credits字段值為2,但是student表中插入數(shù)據(jù)的total_credits字段值為10,說明我們創(chuàng)建的觸發(fā)器起作用了。1.創(chuàng)建INSERT類型觸發(fā)器(2)創(chuàng)建觸發(fā)器tr_insert_score。【任務(wù)實施】①在Navicat查詢編輯器窗口輸入以下SQL語句,并執(zhí)行,創(chuàng)建觸發(fā)器tr_insert_score,并執(zhí)行。1.創(chuàng)建INSERT類型觸發(fā)器【任務(wù)實施】②在Navicat查看向score表插入數(shù)據(jù)之前student表中學(xué)號為“'23000103”學(xué)生的總學(xué)分total_credits。可以看出,在向score表插入數(shù)據(jù)之前學(xué)號為“'23000103”學(xué)生的總學(xué)分total_credits為17。1.創(chuàng)建INSERT類型觸發(fā)器【任務(wù)實施】③在Navicat查詢編輯器窗口輸入以下SQL語句,并執(zhí)行,向score表中插入一條數(shù)據(jù)。1.創(chuàng)建INSERT類型觸發(fā)器【任務(wù)實施】④在Navicat查詢編輯器窗口輸入以下SQL語句,并執(zhí)行,查看score表新插入的數(shù)據(jù)。SELECT*FROMscoreWHEREsno='23000103';可以看出,學(xué)號為“23000103”的學(xué)生成績插入score表中了。1.創(chuàng)建INSERT類型觸發(fā)器【任務(wù)實施】⑤在Navicat查詢編輯器窗口輸入以下SQL語句,并執(zhí)行,查看student表中學(xué)號為“'23000103”學(xué)生的總學(xué)分total_credits。與第②步相比,學(xué)號為“23000103”學(xué)生的總學(xué)分total_credits由17變?yōu)?0,說明觸發(fā)器tr_insert_score起作用了,在向score表中插入數(shù)據(jù)后,激活觸發(fā)器tr_insert_score執(zhí)行,觸發(fā)器將student表中對應(yīng)學(xué)號學(xué)生的總學(xué)分total_credits進行了修改。02創(chuàng)建DELETE類型觸發(fā)器2.創(chuàng)建DELETE類型觸發(fā)器在圖形管理工具Navicat中對studb數(shù)據(jù)庫中student表進行以下操作:創(chuàng)建一個觸發(fā)器tr_delete_student,該觸發(fā)器功能為在學(xué)生表(student)中刪除一個學(xué)生記錄之前,刪除該學(xué)生的所有成績記錄,并進行測試。【任務(wù)描述】在編寫觸發(fā)器tr_delete_student時,任務(wù)要求在刪除學(xué)生記錄之前刪除該學(xué)生的成績記錄,所以觸發(fā)時刻用BEFORE關(guān)鍵字,題目要求是刪除數(shù)據(jù),因此觸發(fā)事件用DELETE,題目要求刪除學(xué)生表(student)中學(xué)生記錄,所以表名用student。【任務(wù)分析】2.創(chuàng)建DELETE類型觸發(fā)器【任務(wù)實施】①在Navicat查詢編輯器窗口輸入以下SQL語句,并執(zhí)行。2.創(chuàng)建DELETE類型觸發(fā)器【任務(wù)實施】②在Navicat查詢編輯器窗口輸入以下SQL語句,并執(zhí)行,刪除學(xué)號為'23000101'的學(xué)生記錄,然后查看score表中數(shù)據(jù)。對比上圖可以看出,當(dāng)執(zhí)行完刪除學(xué)號為'23000101'的學(xué)生記錄后,score表中該學(xué)生對應(yīng)的成績也被刪除了。DELETEFROMstudentsno='23000101';執(zhí)行刪除語句前score表中數(shù)據(jù)執(zhí)行刪除語句后score表中數(shù)據(jù)03創(chuàng)建UPDATE類型觸發(fā)器3.創(chuàng)建UPDATE類型觸發(fā)器在圖形管理工具MySQL中對studb數(shù)據(jù)庫中student表進行以下操作:創(chuàng)建一個觸發(fā)器tr_update_student,該觸發(fā)器功能為更新學(xué)生表(student)中更新total_credits字段之后將用戶變量info值設(shè)置為“學(xué)分已更新”,并進行測試。【任務(wù)描述】在編寫觸發(fā)器tr_update_student時,任務(wù)要求在更新學(xué)生表(student)字段之后設(shè)置用戶變量info的值,所以觸發(fā)時刻用AFTER關(guān)鍵字,要求是更新數(shù)據(jù),因此觸發(fā)事件用UPDATE,任務(wù)要求對學(xué)生表(student)進行操作,所以表名用student。【任務(wù)分析】3.創(chuàng)建UPDATE類型觸發(fā)器【任務(wù)實施】①在Navicat查詢編輯器窗口輸入以下SQL語句,并執(zhí)行。3.創(chuàng)建UPDATE類型觸發(fā)器【任務(wù)實施】②在Navicat查詢編輯器窗口輸入以下SQL語句,并執(zhí)行,將學(xué)號為'23000102'的學(xué)生記錄total_credits字段的值加1。當(dāng)更新完學(xué)號為'23000102'學(xué)生的記錄后,結(jié)果中顯示“學(xué)分已更新”的提
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年塑料袋行業(yè)風(fēng)險投資發(fā)展分析及投資融資策略研究報告
- 2025-2030年農(nóng)業(yè)旅游行業(yè)市場發(fā)展分析與發(fā)展前景及投資戰(zhàn)略研究報告
- 工程經(jīng)濟項目效益試題及答案
- 2025幼兒輔導(dǎo)托管合同示例
- 工程項目管理復(fù)習(xí)的有效策略與試題及答案
- 懶人備考2025年中級經(jīng)濟師試題及答案集
- 2025年新技術(shù)在工程中的應(yīng)用試題及答案
- 項目管理中的經(jīng)濟性考量試題及答案
- 深入學(xué)習(xí)2025年公共關(guān)系學(xué)試題及答案
- 2025建筑拆除項目合同
- 技術(shù)支持與服務(wù)保障措施
- 2024版土方挖機裝車合同
- 幼兒園教師個人三年發(fā)展規(guī)劃(2023-2025年)
- 樓板加固施工方案
- T-ISC 0050-2024 企業(yè)個人信息保護合規(guī)管理體系 指南
- 肝癌圍手術(shù)期的護理
- 考試焦慮障礙臨床診療中國專家共識(2024年)解讀
- 一年級第二學(xué)期口算2000題
- (人教版)小升初數(shù)學(xué)復(fù)習(xí)總知識點
- 醫(yī)院運營管理工作制度
- 2024年大學(xué)實習(xí)三方協(xié)議合同(3篇)
評論
0/150
提交評論