![實(shí)訓(xùn)十ku觸發(fā)器的創(chuàng)建和使用_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/ec355f48-a9c5-4e3b-9eda-76e80657678f/ec355f48-a9c5-4e3b-9eda-76e80657678f1.gif)
![實(shí)訓(xùn)十ku觸發(fā)器的創(chuàng)建和使用_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/ec355f48-a9c5-4e3b-9eda-76e80657678f/ec355f48-a9c5-4e3b-9eda-76e80657678f2.gif)
![實(shí)訓(xùn)十ku觸發(fā)器的創(chuàng)建和使用_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/ec355f48-a9c5-4e3b-9eda-76e80657678f/ec355f48-a9c5-4e3b-9eda-76e80657678f3.gif)
![實(shí)訓(xùn)十ku觸發(fā)器的創(chuàng)建和使用_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/ec355f48-a9c5-4e3b-9eda-76e80657678f/ec355f48-a9c5-4e3b-9eda-76e80657678f4.gif)
![實(shí)訓(xùn)十ku觸發(fā)器的創(chuàng)建和使用_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/ec355f48-a9c5-4e3b-9eda-76e80657678f/ec355f48-a9c5-4e3b-9eda-76e80657678f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、蒄實(shí)訓(xùn)十觸發(fā)器的創(chuàng)建和使用蒂一、實(shí)訓(xùn)目的1.2. 研理解觸發(fā)器的作用;3.4. 肇了解觸發(fā)器和一般存儲(chǔ)過(guò)程的區(qū)別;5.6. 節(jié)掌握創(chuàng)建、修改及刪除觸發(fā)器的方法;7.8.薄理解觸發(fā)器執(zhí)行的過(guò)程。腿二、實(shí)訓(xùn)步驟蒄(一)簡(jiǎn)單觸發(fā)器的創(chuàng)建和使用1.AFTER 觸發(fā)器,要求實(shí)現(xiàn),并驗(yàn)證此觸發(fā)器。2. 常在student數(shù)據(jù)庫(kù)中t_course表創(chuàng)建一名為mytl以下功能:當(dāng)插入一條記錄后提示“已插入一條新記錄”蠅createtriggermytl菱ont_course芄forinsert蒞as廛print'已插入一條新記錄方命令已成功完成。箍-驗(yàn)證膂insertintotcourse腿value
2、s('123','aaa',72,5)蠆已插入一條新記錄螅(1行受影響)3.4. 芃在student數(shù)據(jù)庫(kù)中t_course表創(chuàng)建一名為myt2的AFTER觸發(fā)器,要求實(shí)現(xiàn)以下功能:當(dāng)刪除一條記錄后提示“已刪除一條記錄”,并驗(yàn)證此觸發(fā)器。蔽createtriggermyt2膈ont_course菜fordelete芍as蝕print'已刪除一條記錄'IT命令已成功完成。黃-驗(yàn)證建deletefromt_coursewherec_number='123'肅已刪除一條記錄贛(1行受影響)5.6. 噩在student數(shù)據(jù)庫(kù)中t_cour
3、se表創(chuàng)建一名為myt3的AFTER觸發(fā)器,要求實(shí)現(xiàn)以下功能:當(dāng)修改一條記錄后提示“已修改一條記錄”,并驗(yàn)證此觸發(fā)器。膈createtriggermyt3賺ont_course蔚forupdate蝸as芍print'已修改一條記錄'艿命令已成功完成。聿-驗(yàn)證蕆updatet_coursesetcredit=11wherec_number='123'輻已修改一條記錄螞(1行受影響)7.8. 覆在student數(shù)據(jù)庫(kù)中t_course表創(chuàng)建一名為myt4的INSTEADOF觸發(fā)器,要求實(shí)現(xiàn)以下功能:當(dāng)刪除一條記錄之前提示“不能刪除此表的記錄!”,并驗(yàn)證此觸發(fā)器,檢查
4、是否能刪除此表的記錄。腿createtriggermyt4肄ont_course蜜insteadofdelete量as蚄print'不能刪除此表的記錄!'瞧命令已成功完成。膂-驗(yàn)證芨deletefromt_coursewherec_number='123'蒄不能刪除此表的記錄!精(1行受影響)9.10. 尢刪除以上創(chuàng)建的所有觸發(fā)器。蟆droptriggermyt1,myt2,myt3,myt4艘命令已成功完成。肄(二)較復(fù)雜的觸發(fā)器的創(chuàng)建和使用1.2.箴創(chuàng)建一個(gè)AFTER觸發(fā)器,要求實(shí)現(xiàn)以下功能:在t_score表上創(chuàng)建一個(gè)插入更新類型的觸發(fā)器scoreChec
5、k,當(dāng)在score字段中插入或修改考試分?jǐn)?shù)后,觸發(fā)該觸發(fā)器,檢查分?jǐn)?shù)是否在0至100分之間。(參考教材P186的例10-3,運(yùn)行后發(fā)現(xiàn)盡管分?jǐn)?shù)不在0至100分之間,但還是能夠插入和修改)芾CREATETRIGGERTR_ScoreCheck裊ONT_SCOREBFORINSERT,UPDATE螂AS蚆IFUPDATE(SCORE)蛔PRINT'AFTER觸發(fā)器開(kāi)始執(zhí)行/袂BEGIN»DECLAREScoreValuereal蔗SELECTScoreValue=(SELECTSCOREFROMinserted)莆IFScoreValue>100ORScoreValue&l
6、t;0襖PRINT'輸入的分?jǐn)?shù)有誤,請(qǐng)確認(rèn)輸入的考試分?jǐn)?shù)!'節(jié)END蠅命令已成功完成。滕-驗(yàn)證TR_ScoreCheck觸發(fā)器的功能蟻PRINT'在t_score中插入記錄時(shí)觸發(fā)器執(zhí)行結(jié)果:'筮PRINT''膈INSERTINTOt_score袆VALUES('0554112','10010218',-35)螃UPDATEt_score唐SETscore=-35妍 WHEREs_number ='0554112'蝸在t_score中修改記錄時(shí)觸發(fā)器執(zhí)行結(jié)果:襖袁AFTER觸發(fā)器開(kāi)始執(zhí)行肇輸入的分?jǐn)?shù)有
7、誤,請(qǐng)確認(rèn)輸入的考試分?jǐn)?shù)!勘AFTER觸發(fā)器開(kāi)始執(zhí)行薁輸入的分?jǐn)?shù)有誤,請(qǐng)確認(rèn)輸入的考試分?jǐn)?shù)!輯(1行受影響)3.4. 荽創(chuàng)建一個(gè)AFTER觸發(fā)器,要求實(shí)現(xiàn)以下功能:在t_score表上創(chuàng)建一個(gè)插入更新類型的觸發(fā)器scoreCheck2,當(dāng)在score字段中插入或修改考試分?jǐn)?shù)后,觸發(fā)該觸發(fā)器,檢查分?jǐn)?shù)是否在0至100分之間,若不在,則不能插入或修改,并給出提示。代碼段如下:肇CREATETRIGGERscoreCheck2董ONt_score前FORinsert,update膀AS薄declareScoreValueasint蝴selectScoreValue=(selectscorefromi
8、nserted)蓬ifScoreValue<0orScoreValue>100禳begin英rollbacktransaction薁print'數(shù)據(jù)不正確不能插入或修改'覆end聿驗(yàn)證上面創(chuàng)建的觸發(fā)器,檢查當(dāng)輸入的分?jǐn)?shù)不在0到100之間,能否保存分?jǐn)?shù)。此功能的實(shí)現(xiàn)是依賴代碼段的黑體字標(biāo)識(shí)的語(yǔ)句rollbacktransaction來(lái)實(shí)現(xiàn)的,其作用是回滾變動(dòng)的數(shù)據(jù)。教材沒(méi)有此語(yǔ)句。5.6. it根據(jù)教材第4章P68創(chuàng)建一個(gè)檢查約束,實(shí)現(xiàn)上述2的功能。體會(huì)觸發(fā)器與檢查約束功能上的相似之處。7.8. 蒲在student數(shù)據(jù)庫(kù)中t_course表創(chuàng)建一名為twofield的
9、AFTER觸發(fā)器,要求實(shí)現(xiàn)以下功能:當(dāng)在hours(學(xué)時(shí))和credit(學(xué)分)字段插入或修改學(xué)時(shí)或?qū)W分后,觸發(fā)該觸發(fā)器,檢查學(xué)時(shí)是否是大于0小于200的整數(shù),并且學(xué)分是否是大于0小于10的實(shí)數(shù),若不滿足這兩個(gè)條件,則不允許插入或修改,并給出提示。羈CREATETRIGGERtwofield蒈ONt_course裊FORinsert,update蚄ASas intas real=( selectcredith >200聿declarehwchours from inserted )from inserted )or c <0 or c >10薅selecth蒂selectc=
10、(select前ifh<0or芾begin黃rollbacktransaction蒙print數(shù)據(jù)不正確不能插入或修改薄end輯檢驗(yàn)肆USEstudent薄INSERTINTOt_course>VALUES('20095504',300,-10)9.10. 前根據(jù)教材第4章P68創(chuàng)建一個(gè)檢查約束,實(shí)現(xiàn)上述4的功能。體會(huì)觸發(fā)器與檢查約束功能上的相似之處。11.12. 羈創(chuàng)建一個(gè)AFTER觸發(fā)器,要求實(shí)現(xiàn)以下功能:在t_student表上創(chuàng)建一個(gè)刪除類型的觸發(fā)器stu_delete,當(dāng)在t_student表中刪除某一條記錄后,觸發(fā)該觸發(fā)器,在t_score表中刪除與此學(xué)
11、號(hào)對(duì)應(yīng)的記錄。(參考教材P187的例10-4)衿usestudent薇go蒂createtriggerstu_delete腿ont_student羋fordelete芾as蒄declarestunumchar(10)蒂print'把在t_studen球中刪除白記錄的s_number賦值給局部變量stunum.'妍selectstunum=s_number肇fromdeleted節(jié)print'開(kāi)始查找并刪除t_student表中的相關(guān)記錄:薄deletefromt_score腿wheres_number=stunum蔻print'刪除了t_score表中的學(xué)號(hào)為+
12、rtrim(stunum)+'的記錄蒂Go鬟檢驗(yàn)芄usestudent蒞go犀deletefromt_studentwheres_number='B0451112'方go13.14. 箍分析能用外鍵約束實(shí)現(xiàn)上述6的功能嗎?由此體會(huì)觸發(fā)器與外鍵約束的不同之外處。15.16. 膂創(chuàng)建一個(gè)INSERT觸發(fā)器,完成的功能是當(dāng)在t_score表中插入或修改s_number列的數(shù)據(jù)時(shí),檢測(cè)t_student表中是否存在相應(yīng)的s_number值,如果不存在,則不允許插入和修改,并給出相應(yīng)的提示信息。腿提示:代碼段如下:蠆createtriggerjcont_score螅forinse
13、rt,update芃as蕨declarenumberchar(10)膈selectnumber=(selects_numberfrominserted)菜ifnumberin(selects_numberfromt_student)芍print'已插入'蝕else#begin黃rollbacktransaction建print'學(xué)生信息表中不存在該學(xué)號(hào),所以不能插入end噩檢驗(yàn)膈USEstudent賺GO萌PRINT'在t_score中插入記錄時(shí)觸發(fā)器執(zhí)行結(jié)果:生SPRINT''芍INSERTINTOt_score艿VALUES('0554112','10010218',78)聿GO蕆三、思考題1.2 .精簡(jiǎn)述觸發(fā)器與存儲(chǔ)過(guò)程的區(qū)別。3 .4 .螞簡(jiǎn)述觸發(fā)器的作用。5 .6 .覆簡(jiǎn)述觸發(fā)器與檢查約束的相同和不同的地方。7.8 .腿簡(jiǎn)述AFTER蟲發(fā)器與INSTEADOF觸發(fā)器的區(qū)另U。以下無(wú)正文僅供個(gè)人用于學(xué)習(xí)、研究;不得用于商業(yè)用途tojibkoAJiajiioAeakpTOpwenojibsymaiflOidyHeHMiac,1eaob團(tuán)hhhaoji>kheiHcnojib3OBaTbCHbMOMMepnecKHxuejiax.
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- SMARCA2-ligand-12-3-methylazetidine-生命科學(xué)試劑-MCE-3446
- N-Methylcanadium-iodide-生命科學(xué)試劑-MCE-3917
- 3-Fluoro-4-hydroxymethyl-benzonitrile-d2-4-Cyano-2-fluorobenzyl-alcohol-d-sub-2-sub-生命科學(xué)試劑-MCE-3394
- 二零二五年度影視作品分紅協(xié)議書
- 二零二五年度紅磚新材料研發(fā)與應(yīng)用合作協(xié)議書
- 2025年度電影項(xiàng)目演員聘用合同模板
- 二零二五年度企業(yè)薪資補(bǔ)充協(xié)議及員工住房補(bǔ)貼
- 2025年度綠色生態(tài)園區(qū)物業(yè)公司股權(quán)轉(zhuǎn)讓合作協(xié)議
- 二零二五年度私人老板與藝術(shù)策展人合作協(xié)議
- 二零二五年度科研機(jī)構(gòu)競(jìng)業(yè)禁止協(xié)議期限與成果轉(zhuǎn)化
- 二零二五版電力設(shè)施維修保養(yǎng)合同協(xié)議3篇
- 六安市葉集化工園區(qū)污水處理廠及配套管網(wǎng)一期工程環(huán)境影響報(bào)告書
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第一章運(yùn)動(dòng)技能學(xué)習(xí)與控制概述
- 固體廢棄物檢查記錄
- 工程設(shè)計(jì)費(fèi)取費(fèi)標(biāo)準(zhǔn)
- 2023年遼寧鐵道職業(yè)技術(shù)學(xué)院高職單招(數(shù)學(xué))試題庫(kù)含答案解析
- CAPP教學(xué)講解課件
- 自然環(huán)境的服務(wù)功能課件 高中地理人教版(2019)選擇性必修3
- 小耳畸形課件
- 精美唯美淡雅個(gè)人求職簡(jiǎn)歷模板 (7)
- 環(huán)保鐵1215物質(zhì)安全資料表MSDS
評(píng)論
0/150
提交評(píng)論