第10章 觸發(fā)器和事件-習(xí)題解答_第1頁
第10章 觸發(fā)器和事件-習(xí)題解答_第2頁
第10章 觸發(fā)器和事件-習(xí)題解答_第3頁
第10章 觸發(fā)器和事件-習(xí)題解答_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PAGE232PAGE23110.3練習(xí)10一、選擇題1.下列說法中錯(cuò)誤的是()。A.常用觸發(fā)器有INSERT、UPDATE、DELETE三種B.對(duì)于同一張數(shù)據(jù)表,可以同時(shí)有兩個(gè)BEFOREUPDATE觸發(fā)器C.NEW臨時(shí)表在INSERT觸發(fā)器中用來訪問被插入的行D.OLD臨時(shí)表中的值只讀,不能被更新正確答案:B2.下列選項(xiàng)中,觸發(fā)器不能觸發(fā)的事件是()。A.INSERT B.UPDATEC.DELETE D.SELECT正確答案:D3.MySQL所支持的觸發(fā)器不包括()。A.INSERT觸發(fā)器 B.DELETE觸發(fā)器C.CHECK觸發(fā)器 D.UPDATE觸發(fā)器正確答案:C4.關(guān)于CREATETRIGGER作用描述正確的是()。A.創(chuàng)建觸發(fā)器 B.查看觸發(fā)器C.應(yīng)用觸發(fā)器 D.刪除觸發(fā)器正確答案:A5.刪除觸發(fā)器的語句是()。A.CREATETRICGER觸發(fā)器名稱; B.DROPDATABASE觸發(fā)器名稱;C.DROPTRICGERS觸發(fā)器名稱; D.SHOWTRIGGERS觸發(fā)器名稱;正確答案:C二、練習(xí)題1.在library數(shù)據(jù)庫中,在reader表上定義一個(gè)觸發(fā)器tr_reader_delete,當(dāng)一個(gè)讀者的信息被刪除時(shí),把該讀者的信息添加到被刪除記錄的表de_reader中。當(dāng)每次刪除reader表中一行記錄時(shí),將用戶變量str的值設(shè)置為“讀者記錄已刪除!”。1)先創(chuàng)建de_reader表,SQL語句如下:CREATETABLEde_reader(ReaderIDchar(10)NOTNULL,ReaderNamechar(20)NOTNULL,Sexchar(2)NOTNULL,Phonechar(15),PRIMARYKEY(ReaderID));2)創(chuàng)建reader表的觸發(fā)器tr_reader_delete,本例使用AFTERDELETE。SQL語句如下:CREATETRIGGERtr_reader_deleteAFTERDELETEONreaderFOREACHROWBEGININSERTINTOde_reader(ReaderID,ReaderName,Sex,Phone)VALUES(OLD.ReaderID,OLD.ReaderName,OLD.Sex,OLD.Phone);END;3)測(cè)試觸發(fā)器,SQL語句如下:DELETEFROMreaderWHEREReaderID='337783';SELECT*FROMde_reader;SELECT*FROMreader;2.在library數(shù)據(jù)庫中,繼續(xù)完善reader表上定義的觸發(fā)器tr_reader_delete,當(dāng)一個(gè)讀者的信息被刪除后,把該讀者的信息添加到被刪除的表de_reader中,同時(shí)刪除該讀者借閱記錄表borrow中的借閱記錄。1)觸發(fā)器不能修改,只能刪掉后重新創(chuàng)建。SQL語句如下:DROPTRIGGERIFEXISTStr_reader_delete;CREATETRIGGERtr_reader_deleteAFTERDELETEONreaderFOREACHROWBEGININSERTINTOde_reader(ReaderID,ReaderName,Sex,Phone)VALUES(OLD.ReaderID,OLD.ReaderName,OLD.Sex,OLD.Phone);DELETEFROMborrowWHEREReaderID=OLD.ReaderID;END;2)測(cè)試觸發(fā)器,SQL語句如下:DELETEFROMreaderWHEREReaderID='112235';SELECT*FROMde_reader;SELECT*FROMreader;SELECT*FROMborrow;3.在de_reader表上分別創(chuàng)建BEFOREINSERT和AFTERINSERT觸發(fā)器。在向該表中插入記錄時(shí),觀察這兩個(gè)觸發(fā)器的觸發(fā)順序。1)從已有表創(chuàng)建表,不需要記錄WHERE1=0;CREATETABLEbef_afterSELECTReaderID,ReaderNameFROMreaderWHERE1=0;2)修改表bef_after,添加日期時(shí)間列。ALTERTABLEbef_afterADDtig_timeTIMESTAMPNOTNULLDEFAULTNOW();3)創(chuàng)建de_reader表上的觸發(fā)器before_insert。CREATETRIGGERbefore_insertBEFOREINSERTONde_readerFOREACHROWBEGININSERTINTObef_afterSETReaderID='225588',ReaderName='黃帥';END;4)創(chuàng)建de_reader表上的after_insert觸發(fā)器。CREATETRIGGERafter_insertAFTERINSERTONde_readerFOREACHROWBEGININSERTINTObef_afterSETReaderID='225599',ReaderName='趙萌';END;6)測(cè)試觸發(fā)器,在de_reader表插入一條記錄INSERTINTOde_reader(ReaderID,ReaderName,Sex)VALUES('225555','孟琳','女');查看bef_after表中插入記錄的順序和時(shí)間,說明BEFORE觸發(fā)器的執(zhí)行早于AFTER觸發(fā)器。SELECT*FROMbef_after;7)創(chuàng)建事件e_test,每天定時(shí)清空test表,5天后停止執(zhí)行。8)假設(shè)之前創(chuàng)建的course表沒有設(shè)置外鍵級(jí)聯(lián)策略,設(shè)置觸發(fā)器,實(shí)現(xiàn)在course表中刪除課程信息時(shí),可自動(dòng)刪除該課程在score上的成績信息。4.刪除library數(shù)據(jù)庫中的觸發(fā)器tr_reader_delete。DROPTRIGGERIFEXISTStr_reader_delete;5.創(chuàng)建事件e_test,每天2時(shí)定時(shí)清空test表,5天后停止執(zhí)行。test表結(jié)構(gòu)自己定義。首先,創(chuàng)建test表:CREATETABLEtest(idINTPRIMARYKEYAUTO_INCREMENT,dataVARCHAR(100));接下來,創(chuàng)建事件e_test:CREATEEVENTe_testONSCHEDULEEVERY1DAYSTARTSCURRENT_

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論