版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗六存儲過程和觸發(fā)器一、目的與要求掌握編寫數(shù)據(jù)庫存儲過程的方法。掌握建立數(shù)據(jù)庫觸發(fā)器的方法,通過實驗觀察觸發(fā)器的作用和觸發(fā)條件設(shè)置等相關(guān)操作。二、實驗準備了解編寫存儲過程和調(diào)用的T-SQL語法;了解觸發(fā)器的作用;了解編寫觸發(fā)器的T-SQL語法。三、實驗內(nèi)容存儲過程在studentdb數(shù)據(jù)庫中建立存儲過程getPractice,查詢指定院系(名稱)(作為存儲過程的輸入?yún)?shù))中參與“實踐”課程學(xué)習(xí)的所有學(xué)生學(xué)號、姓名、所學(xué)課程編號和課程名稱,若院系不存在,返回提示信息。提示:D_Info表中存儲了院系代碼D_ID,而St_Info表中學(xué)號字段St_ID的前兩位與之對應(yīng),則D_Info表與St_Info表之間的聯(lián)系通過這兩個字段的運算構(gòu)成連接條件。分別執(zhí)行存儲過程getPractice,查詢“法學(xué)院”和“材料科學(xué)與工程學(xué)院”的學(xué)生中參與“實踐”課程的所有學(xué)生學(xué)號、姓名、所學(xué)課程編號和課程名稱。createproceduregetPractice@D_Namevarchar(30)outputasbeginifnotexists(select*fromD_InfowhereD_Name=@D_Name)print'對不起,該院系不存在'elseselectst_info.St_ID,C_Info.C_No,C_Namefroms_c_infoinnerjoinst_infoonst_info.St_ID=s_c_info.st_idinnerjoinC_Infoons_c_info.c_no=C_Info.C_Nowherest_info.St_IDin(selectSt_IDfromst_infojoinD_InfoonD_Info.D_ID=left(st_info.St_ID,2)whereC_Info.C_Type='實踐'andD_Info.D_Name=@D_Name)endgooldscoreint,newscoreint,unamevarchar(10)defaultuser,udatadatetimedefaultgetdate())gocreatetriggertr_scons_c_infoforinsert,updateasifupdate(score)beginif(selectcount(*)fromdeleted)<>0insertintosc_log(type,st_id,c_no,oldscore,newscore)select'update',s_c_info.st_id,s_c_info.c_no,i.score,d.scorefroms_c_info,insertedi,deleteddwheres_c_info.st_id=i.st_idandi.st_id=d.st_idelseinsertintosc_log(type,st_id,c_no,newscore)select'insert',st_id,c_no,scorefrominsertedendgo在s_c_info表上建立一個觸發(fā)器tr_updasc,用于監(jiān)控對成績的更新,要求更新后的成績不能比更新前低,如果新成績低則取消操作,給出提示信息,否則允許更新。createtriggertr_updascons_c_infoafterupdateasdeclare@cj1int,@cj2intselect@cj1=deleted.scorefromdeletedselect@cj2=inserted.scorefrominsertedif(@cj2<@cj1)beginraiserror('新成績比老成績低,取消操作',16,1)rollbacktransactionendgo(三)查看存儲過程和觸發(fā)器的信息1.用sp_help查看以上建立的存儲過程和觸發(fā)器的基本信息sp_helptr_scgosp_helptr_updascgo2.用sp_helptext查看存儲過程和觸發(fā)器的代碼sp_helptexttr_scgosp_helptexttr_updascgo四、思考與練習(xí)1.存儲過程如何加密?Createprocedureencrypt_thisWithencryption--加密,在存儲過程添加這一語句即可ASSelect*fromuser_tbGO查看存儲過程儲存的文本:Execsp_helptextencrypt_this下面是結(jié)果集:Theproject’scommentshavebeenencrypted.--對象已經(jīng)被加密2.觸發(fā)器有什么好處和壞處?使用觸發(fā)器的好處:1.自動執(zhí)行。觸發(fā)器在對表的數(shù)據(jù)作了任何修改(比如手工輸入或者應(yīng)用程序的操作)之后立即被激活。2.級聯(lián)更新。觸發(fā)器可以通過數(shù)據(jù)庫中的相關(guān)表進行層疊更改,這比直接把代碼寫在前臺的做法更安全合理。3.強化約束。觸發(fā)器可以引用其它表中的列,能夠?qū)崿F(xiàn)比CHECK約束更為復(fù)雜的約束。4.跟蹤變化。觸發(fā)器可以阻止數(shù)據(jù)庫中未經(jīng)許可的指定更新和變化。5.強制業(yè)務(wù)邏輯。觸發(fā)器可用于執(zhí)行管理任務(wù),并強制影響數(shù)據(jù)庫的
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 開展119消防宣傳日活動總結(jié)
- 感恩父母親演講稿(9篇)
- 開展119消防安全宣傳月活動總結(jié)7篇
- 十萬個為什么知識競賽
- 公共衛(wèi)生服務(wù)衛(wèi)生監(jiān)督協(xié)管
- 基于雙端行波法的架空線-電纜混合線路故障定位研究
- 二零二五年度公路貨物運輸與智能倉儲管理系統(tǒng)合同3篇
- 基于特征模理論的機載陣列天線研究
- 二零二五年度個人臨時借款合同范本3篇
- 不同封裝形式的鋰離子電池串聯(lián)電弧故障熱電特征研究
- 2024安全員知識考試題(全優(yōu))
- 法律訴訟及咨詢服務(wù) 投標方案(技術(shù)標)
- 帶式輸送機滾筒出廠檢驗規(guī)范
- 《信息檢索基礎(chǔ)知識》課件
- 具有履行合同所必須的設(shè)備和專業(yè)技術(shù)能力的承諾函-設(shè)備和專業(yè)技術(shù)能力承諾
- 格式塔心理咨詢理論與實踐
- 英語六級詞匯(全)
- 1325木工雕刻機操作系統(tǒng)說明書
- 醫(yī)院出入口安檢工作記錄表范本
- 斯瓦希里語輕松入門(完整版)實用資料
- 復(fù)古國潮風(fēng)中國風(fēng)春暖花開PPT
評論
0/150
提交評論