![關(guān)系數(shù)據(jù)庫設(shè)計(jì)與應(yīng)用(工作手冊式) 實(shí)訓(xùn)報(bào)告答案 實(shí)訓(xùn)14 觸發(fā)器_第1頁](http://file4.renrendoc.com/view3/M00/29/27/wKhkFmY7FLyAeO06AAGUws1iRWY850.jpg)
![關(guān)系數(shù)據(jù)庫設(shè)計(jì)與應(yīng)用(工作手冊式) 實(shí)訓(xùn)報(bào)告答案 實(shí)訓(xùn)14 觸發(fā)器_第2頁](http://file4.renrendoc.com/view3/M00/29/27/wKhkFmY7FLyAeO06AAGUws1iRWY8502.jpg)
![關(guān)系數(shù)據(jù)庫設(shè)計(jì)與應(yīng)用(工作手冊式) 實(shí)訓(xùn)報(bào)告答案 實(shí)訓(xùn)14 觸發(fā)器_第3頁](http://file4.renrendoc.com/view3/M00/29/27/wKhkFmY7FLyAeO06AAGUws1iRWY8503.jpg)
![關(guān)系數(shù)據(jù)庫設(shè)計(jì)與應(yīng)用(工作手冊式) 實(shí)訓(xùn)報(bào)告答案 實(shí)訓(xùn)14 觸發(fā)器_第4頁](http://file4.renrendoc.com/view3/M00/29/27/wKhkFmY7FLyAeO06AAGUws1iRWY8504.jpg)
![關(guān)系數(shù)據(jù)庫設(shè)計(jì)與應(yīng)用(工作手冊式) 實(shí)訓(xùn)報(bào)告答案 實(shí)訓(xùn)14 觸發(fā)器_第5頁](http://file4.renrendoc.com/view3/M00/29/27/wKhkFmY7FLyAeO06AAGUws1iRWY8505.jpg)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)訓(xùn)14觸發(fā)器實(shí)訓(xùn)目的1.掌握觸發(fā)器的創(chuàng)建、修改和刪除操作;2.掌握觸發(fā)器的觸發(fā)執(zhí)行;3.理解觸發(fā)器與約束的不同。實(shí)訓(xùn)重難點(diǎn)1.觸發(fā)器的創(chuàng)建;2.觸發(fā)器的執(zhí)行原理(難點(diǎn))。實(shí)訓(xùn)準(zhǔn)備請附加數(shù)據(jù)庫,相關(guān)操作詳見實(shí)訓(xùn)6中的“實(shí)訓(xùn)準(zhǔn)備”。除了使用約束來完成數(shù)據(jù)的用戶自定義完整性,還可以使用觸發(fā)器來實(shí)現(xiàn)用戶自定義完整性。本書介紹了DML觸發(fā)器,它有三種類型:INSERT觸發(fā)器、UPDATE觸發(fā)器和DELETE觸發(fā)器。實(shí)訓(xùn)內(nèi)容第一題【存儲過程與觸發(fā)器的比較】1.設(shè)計(jì)一個存儲過程proc_update,當(dāng)向零件表中修改某指定零件名稱時(shí),如果該零件在供應(yīng)零件表中已有記錄,則提示“該零件名稱不能進(jìn)行修改”,并拒絕修改,否則可以修改。參考答案:createprocedureproc_update@零件代號char(5),@零件名稱varchar(50)asbeginifnotexists(select*from零件where零件代號=@零件代號)update零件set零件名=@零件名稱where零件代號=@零件代號elseprint'該零件名稱不能進(jìn)行修改'end--調(diào)用過程:execproc_update'P01','新的零件名稱'2.設(shè)計(jì)一個觸發(fā)器trigger_update,當(dāng)向零件表中修改零件名稱時(shí)觸發(fā)該觸發(fā)器,如果該零件在供應(yīng)零件表中已有記錄,則該零件名稱不能進(jìn)行修改,否則可以修改。參考答案:createtriggertrigger_updateon零件forupdate--inserteddeletedasbegin ifupdate(零件名) beginifexists(select*from供應(yīng)零件A innerjoininsertedonA.零件代號=inserted.零件代號)rollbacktransactionendend--調(diào)用:update零件set零件名='PP01'where零件代號='P08'第二題【觸發(fā)器練習(xí)】1.在零件表中編寫update觸發(fā)器sc_update,將其修改前后的信息保存在SC_log表中:SC_log(id,零件代號,零件名稱,規(guī)格,修改時(shí)間)。提示:請先創(chuàng)建SC_log表,字段類型參照零件表。參考答案:先創(chuàng)建SC_log表:createtablesc_log(idintidentity(1,1),零件代號char(5)notnull,零件名稱varchar(50)notnull,規(guī)格char(8)notnull,修改時(shí)間datetime)--插入一條數(shù)據(jù):insertintosc_log(零件代號,零件名稱,規(guī)格,修改時(shí)間)values('P09','PP08','GG08','2022-04-1712:00:00')--查詢sc_log表select*fromsc_log編寫觸發(fā)器:createtriggersc_updateon零件forupdate--deletedinsertedasbegininsertintosc_log(零件代號,零件名稱,規(guī)格)select零件代號,零件名,規(guī)格fromdeletedinsertintosc_log(零件代號,零件名稱,規(guī)格)select零件代號,零件名,規(guī)格frominsertedend--測試語句:update零件set規(guī)格='GG08'--查詢sc_log表select*fromsc_log2.在工程表中編寫update觸發(fā)器gc_update,當(dāng)修改“預(yù)算”字段時(shí),如果修改后的預(yù)算超過100000元,則提示“預(yù)算已超上限”,修改不能實(shí)現(xiàn),否則可以修改。參考答案:--創(chuàng)建觸發(fā)器createtriggergc_updateon工程forupdate--deletedinsertedasbeginifupdate(預(yù)算)beginifexists(select*frominsertedwhere預(yù)算>100000) print'預(yù)算已超上限100000' rollbacktransactionendend--測試語句:update工程set預(yù)算=110000where工程代號='J01'3.以下兩條語句的執(zhí)行結(jié)果有何不同,為什么?UPDATE工程SET預(yù)算=110000WHERE工程代號='J01'UPDATE工程SET預(yù)算=120000WHERE工程代號='J01'參考答案:本題考查的是觸發(fā)器和檢查約束的用法,所以這里如果需要驗(yàn)證,可以給工程表加一個檢查約束,然后執(zhí)行后就有區(qū)別了。--添加一個檢查約束:ALTERTABLE工程ADDCONSTRAINTCHK_預(yù)算CHECK(預(yù)算>=0AND預(yù)算<=110000)UPDATE工程SET預(yù)算=110000WHERE工程代號
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加工項(xiàng)目分包合同范本
- 市區(qū)精裝修房長期出租合同范本
- 冷庫建設(shè)合同范本合集
- 2025年度二零二五新型智能公產(chǎn)房買賣合同示范文本
- 城市綜合辦公樓單層長期出租合同范本
- 公交運(yùn)輸合同范例
- 個人租給公司房屋租賃合同范本
- 會所庭院出租合同范本
- 債權(quán)讓與合同范例
- 加盟購車合作合同范本
- VDA6.3 2023過程審核教材
- 高職應(yīng)用語文教程(第二版)教案 3管晏列傳
- 高中物理《光電效應(yīng)》
- 烹飪實(shí)訓(xùn)室安全隱患分析報(bào)告
- 《金屬加工的基礎(chǔ)》課件
- 運(yùn)輸行業(yè)春節(jié)安全生產(chǎn)培訓(xùn) 文明駕駛保平安
- 體驗(yàn)式沙盤-收獲季節(jié)
- 找人辦事協(xié)議
- 老年護(hù)理陪護(hù)培訓(xùn)課件
- 醬香型白酒工廠設(shè)計(jì)
- 第3章 環(huán)境感知技術(shù)
評論
0/150
提交評論