版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
山西大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院姓名許小珍學(xué)號(hào)201024209''專業(yè)班級(jí)軟件一班課程名稱數(shù)據(jù)庫實(shí)驗(yàn)日期2012.04.24成績(jī)指導(dǎo)教師批改日期實(shí)驗(yàn)名稱創(chuàng)建和使用觸發(fā)器一、實(shí)驗(yàn)?zāi)康模豪斫庥|發(fā)器的觸發(fā)過程和類型,掌握創(chuàng)建觸發(fā)器的方法。二、實(shí)驗(yàn)內(nèi)容:掌握使用對(duì)象資源管理器和Transact-SQL語句兩種方法創(chuàng)建觸發(fā)器。三、實(shí)驗(yàn)步驟:1)使用SQL語句創(chuàng)建DML觸發(fā)器。例1.創(chuàng)建一個(gè)INSERT觸發(fā)器,當(dāng)向“選課表”中添加數(shù)據(jù)時(shí),如果添加的數(shù)據(jù)與學(xué)生表中的數(shù)據(jù)不匹配(如沒有對(duì)應(yīng)的學(xué)號(hào)),則將此數(shù)據(jù)刪除。CRONFOEATETRITGGERtrginsstudentSRCINSERASBEGINDECLARE@xhvarchar(12)SELECT@xh=inserted.SnoFROMinsertedIFNOTEXISTS(SELECTSnoFROMStudentWHERESno=@xh)DELETESCWHERESno=@xhENDINSERTINTOSCVALUES('200215123','1',89);JI?=°|=-dbo-scIT表dbo.sc*XP-ZDl1D9191S...QLQueryl.sql*摘蓼enoenograde[llETLlJI192£00215121285200215121300200215122290Z00Z151Z3189米NULL例2.創(chuàng)建一個(gè)UPDATE觸發(fā)器,該觸發(fā)器防止用戶修改“選課表”的成績(jī)。CREATETRIGGERtrgupstudentONSCFORUPDATEASIFUPDATE(Grade)BEGINRAISERROR('不能修改課程分?jǐn)?shù)’,16,10)ROLLBACKTRANSACTION
ENDGO另外一種觸發(fā)器:CREATETRIGGERtrgupstudent2ONSCINSTEADOFUPDATEASIFUPDATE(Grade)RAISERROR('不能修改課程分?jǐn)?shù)’,16,10)例3:創(chuàng)建一個(gè)DELETE觸發(fā)器。當(dāng)刪除“學(xué)生表”中的記錄時(shí),自動(dòng)刪除“選課表”中的對(duì)應(yīng)學(xué)號(hào)的記錄。CREATETRIGGERtrgdelstudentONstudentFORDELETEASBEGINDECLARE@xhvarchar(12)SELECT@xh=deleted.SnoFROMdeletedDELETESCWHERESno=@xhENDGO
例四:創(chuàng)建一個(gè)觸發(fā)器,在STUDENT表中插入記錄,當(dāng)插入年齡大于25時(shí),輸出年齡應(yīng)小于25,插入失敗。createtriggersageonstudentafterinsertasif(selectsagefrominserted)>25beginprint('年齡應(yīng)小于25')end當(dāng)輸入InsertintoStudentlvalues(2007241082‘王陽’‘男’36‘計(jì)算機(jī)’);-[□Ix||嘗MicrosoftSQLServerManagemEnt-[□Ix|文件(E)編輯?視圖俄查詢(Q)項(xiàng)目(2)工具(!)Wn(w)社區(qū)?幫助(d)履新建查詢她3嘖洛墨|臭舊日事唇曹靜眇雪目:.費(fèi)植S-C對(duì)象資源管理器??執(zhí)行仙/?彩零〔£i柘「喧身I幼畫⑥隹芻I璋厚國/表-db。,studentXP-2011091918...QLQuery2.sql*表-dbo.sc摘要曰XP-201109191810(SQLServer9.0.1399-XP-201日o數(shù)據(jù)庫國」系統(tǒng)數(shù)據(jù)庫國o數(shù)據(jù)庫快照日J(rèn)5-CS履新建查詢她3嘖洛墨|臭舊日事唇曹靜眇雪目:.費(fèi)植S-C對(duì)象資源管理器??執(zhí)行仙/?彩零〔£i柘「喧身I幼畫⑥隹芻I璋厚國/表-db。,studentXP-2011091918...QLQuery2.sql*表-dbo.sc摘要曰XP-201109191810(SQLServer9.0.1399-XP-201日o數(shù)據(jù)庫國」系統(tǒng)數(shù)據(jù)庫國o數(shù)據(jù)庫快照日J(rèn)5-CS□數(shù)據(jù)庫關(guān)系圈日以養(yǎng)國以系統(tǒng)表國言dbo.course田Eldbo.sc由3dbo.student國以視圖田C3同曳詞SO可漏程性0□ServiceBroker國存儲(chǔ)田□安全性安全性服務(wù)器對(duì)象復(fù)制首理NotificationServices5QLServer代理(已禁用代理:EP)±1就緒(insertintoStudentvalues(】200724182王陽°男°,27,】um|);臨消息]年齡應(yīng)小于2S(1行受影響〉i禪查詢…KP-201109191810(9.0RTM)XP-201109191810\AdministratorC53)行2200:00:000行Ch1Ins當(dāng)執(zhí)行以下語句時(shí)insertintostudentvalues('200515125','zp','男',20,'ma');例六:createtriggerinsert_sonstudentafterinsertasbeginif(selectsagefrominserted)<20updatestudentsetsage=20end;當(dāng)輸入insertintostudentvalues('200215129','張琪','男',18,'ma')四、結(jié)果分析:觸發(fā)器是一種特殊類型的存儲(chǔ)過程。一般的存儲(chǔ)過程通過存儲(chǔ)過程名稱被直接調(diào)用,而觸發(fā)器主要是通過當(dāng)某個(gè)事件發(fā)生時(shí)自動(dòng)被觸發(fā)執(zhí)行的。觸發(fā)器可以用于SQLServer約束、默認(rèn)值和規(guī)則的完整性檢查,還可以完成難以用普通約束實(shí)現(xiàn)的復(fù)雜功能。當(dāng)創(chuàng)建數(shù)據(jù)庫對(duì)象或在數(shù)據(jù)表中插入記錄、修改記錄或者刪除記錄時(shí),SQLServer就會(huì)自動(dòng)執(zhí)行觸發(fā)器所定義的SQL語句,從而確保對(duì)數(shù)據(jù)的處理必須符合由這些SQL語句所定義的規(guī)則。觸發(fā)器和引起觸發(fā)器執(zhí)行的SQL語句被當(dāng)作一次事務(wù)處理,如果這次事務(wù)未獲得成功,SQLServer會(huì)自動(dòng)返回該事務(wù)執(zhí)行前的狀態(tài)。觸發(fā)器是自動(dòng)的執(zhí)行的。觸發(fā)器可以通過數(shù)據(jù)庫中的相關(guān)表進(jìn)行層疊更改。觸發(fā)器可以強(qiáng)制限制。這些限制比用CHECK約束所定義的更復(fù)雜。DDL觸發(fā)器用于響應(yīng)各種數(shù)據(jù)定義語言(DDL)事件。這些事件主要對(duì)應(yīng)于Transact-SQL中的CREATE、ALTER和DROP語句,以及執(zhí)行類似DDL操作的某些系統(tǒng)存儲(chǔ)過程。它們用于執(zhí)行管理任務(wù),并強(qiáng)制影響數(shù)據(jù)庫的業(yè)務(wù)規(guī)則。DML觸發(fā)器是在用戶使用數(shù)據(jù)操作語言(DML)事件編輯數(shù)據(jù)時(shí)發(fā)生。DML事件是針對(duì)表或視圖的INSERT、UPDATE或DELETE語句。DML觸發(fā)器有助于在表或視圖中修改數(shù)據(jù)時(shí)強(qiáng)制業(yè)務(wù)規(guī)則,擴(kuò)展數(shù)據(jù)完整性。DML觸
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年工具鋼項(xiàng)目提案報(bào)告模范
- 2025年出入口機(jī)項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模范
- 實(shí)習(xí)生的辭職報(bào)告
- 2024年服務(wù)器項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 2025年市政工程項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模稿
- 茶藝師培訓(xùn)學(xué)校聘用合同
- 河南省商業(yè)大廈施工合同樣本
- 醫(yī)院手術(shù)室煙道改造及維護(hù)合同
- 教育信息化專員合同樣本
- 水上餐廳船操作細(xì)則
- 大學(xué)試卷(示范)
- 高職院校智能制造實(shí)驗(yàn)室實(shí)訓(xùn)中心建設(shè)方案
- 房產(chǎn)交易管理平臺(tái)行業(yè)發(fā)展預(yù)測(cè)分析
- 檔案工作人員分工及崗位責(zé)任制(4篇)
- 電商整年銷售規(guī)劃
- GB 4396-2024二氧化碳滅火劑
- 美麗的秋天景色作文500字小學(xué)
- 施工單位2025年度安全生產(chǎn)工作總結(jié)及計(jì)劃
- 口腔癌放療護(hù)理
- 護(hù)理質(zhì)量委員會(huì)會(huì)議
- 2024年護(hù)理質(zhì)量分析
評(píng)論
0/150
提交評(píng)論