存儲(chǔ)過(guò)程和觸發(fā)器.doc_第1頁(yè)
存儲(chǔ)過(guò)程和觸發(fā)器.doc_第2頁(yè)
存儲(chǔ)過(guò)程和觸發(fā)器.doc_第3頁(yè)
存儲(chǔ)過(guò)程和觸發(fā)器.doc_第4頁(yè)
存儲(chǔ)過(guò)程和觸發(fā)器.doc_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

存儲(chǔ)過(guò)程和觸發(fā)器管理實(shí)驗(yàn)報(bào)告學(xué)院: 信息學(xué)院 班級(jí): 電子信息工程學(xué)號(hào):20091060253 姓名:鄭璇 成績(jī):【實(shí)驗(yàn)?zāi)康摹? 學(xué)習(xí)創(chuàng)建存儲(chǔ)過(guò)程。2 學(xué)習(xí)創(chuàng)建管理觸發(fā)器?!緦?shí)驗(yàn)內(nèi)容】1.在pubs數(shù)據(jù)庫(kù)中創(chuàng)建存儲(chǔ)過(guò)程avg_price,用于求所有出版圖書的平均單價(jià)。并通過(guò)輸出參數(shù)返回該平均單價(jià)。要求在創(chuàng)建過(guò)程之前要首先判斷該存儲(chǔ)過(guò)程是否已經(jīng)存在,如果存在,則將其刪除。執(zhí)行存儲(chǔ)過(guò)程,打印圖書平均單價(jià)。if exists (select name from sysobjectswhere name=avg_price and type=p)drop procedure avg_pricegocreate procedure avg_priceavgprice float outputasselect avgprice=avg(price) from titlesgodeclare avgprice floatexec avg_price avgprice outputprint avgprice3在pubs數(shù)據(jù)庫(kù)中創(chuàng)建存儲(chǔ)過(guò)程max_price,根據(jù)存儲(chǔ)過(guò)程的圖書類型(輸入?yún)?shù))返回該類圖書的最高單價(jià)(輸出參數(shù))。要求在創(chuàng)建過(guò)程之前要首先判斷該存儲(chǔ)過(guò)程是否已經(jīng)存在,如果存在,則將其刪除。if exists(select name from sysobjects where name=max_price and type=p)drop procedure max_pricegocreate procedure max_pricetype char(50),max float outputas select max=max(price) from titles where type=typego4執(zhí)行第三題創(chuàng)建的存儲(chǔ)過(guò)程max_price,指定圖書類型為“mod_cook”,打印該類型圖書的最高單價(jià)。declare max float exec max_pricemod_cook,max outputprint max5刪除存儲(chǔ)過(guò)程avg_price,max_price。drop procedure avg_pricedrop procedure max_price二觸發(fā)器創(chuàng)建一個(gè)“學(xué)生信息”數(shù)據(jù)庫(kù),包含“學(xué)生基本信息”表、“專業(yè)”表和“系”表,各表包含的字段如下。“學(xué)生基本信息”表:學(xué)號(hào);性別;班級(jí);出生日期;專業(yè)編號(hào)?!皩I(yè)”表:專業(yè)編號(hào);專業(yè)名稱;系編號(hào)?!跋怠北恚合稻幪?hào);系名稱;系簡(jiǎn)介。各字段類型按其實(shí)際含義自行定義,輸入一些數(shù)據(jù),要求數(shù)據(jù)要有代表性。以下操作要求全部在查詢分析器中完成,保存或記錄實(shí)現(xiàn)各題功能的Transcat-SQL語(yǔ)句。1. 在“專業(yè)”表上創(chuàng)建一個(gè)INSERT觸發(fā)器“TRG1”。當(dāng)發(fā)生插入專業(yè)表操作時(shí),將顯示插入的記錄。2. 在“專業(yè)”表表上創(chuàng)建一個(gè)DELETE觸發(fā)器“TRG2”。當(dāng)發(fā)生刪除操作時(shí),將給出警告、列出刪除的記錄并撤消刪除。3. 在“專業(yè)”表表上創(chuàng)建一個(gè)UPDATE觸發(fā)器“TRG3”。當(dāng)發(fā)生更新“專業(yè)名稱”字段的操作時(shí),給出警告并撤消更新。 if exists(select name from sysobjects where name=trg3 and type=tr)drop trigger trg3gocreate trigger trg3 on 專業(yè)for updateas if update(專業(yè)名稱)begin print 不允許更新專業(yè)名稱!rollback transactionendelseprint 沒(méi)有更新專業(yè)名稱,不需要觸發(fā)器處理goupdate 專業(yè) set 專業(yè)名稱=新專業(yè)A where 專業(yè)名稱=新專業(yè)4. 在“學(xué)生基本信息”表上創(chuàng)建一個(gè)更新觸發(fā)器“TRG4”,當(dāng)發(fā)生更新“學(xué)號(hào)”或“姓名”字段的操作時(shí)給出警告,并撤消更新。drop trigger trg4gocreate trigger trg4 on 學(xué)生基本信息for updateasif update(學(xué)號(hào)) or update(姓名)begin print 不允許更新學(xué)號(hào)或姓名rollback transactionendelseprint沒(méi)有更新學(xué)號(hào)或姓名,不需要觸發(fā)器處理goupdate 學(xué)生基本信息 set 學(xué)號(hào)=2002090261 where 學(xué)號(hào)=2002090161GOupdate 學(xué)生基本信息 set 姓名=張三 where 學(xué)號(hào)=20020901615. 創(chuàng)建一個(gè)視圖view1,view1中包含了某班級(jí)的學(xué)生基本信息的以下字段:學(xué)號(hào);姓名;性別;出生日期?,F(xiàn)在要通過(guò)該視圖向該班級(jí)添加新的學(xué)生信息,在該視圖上創(chuàng)建一個(gè)INSTEAD OF觸發(fā)器“TRG5”,使得添加到“學(xué)生基本信息”表中的記錄內(nèi)容完整。create view view1asselect 學(xué)號(hào),姓名,性別,出生日期from 學(xué)生基本信息goif exists(select name from sysobjectswhere name=trg5and type=tr)drop trigger trg5gocreate trigger trg5 on view1instead of insertasdeclare num char(11)declare name char(10)declare sex bitdeclare birth datetimeselect num=學(xué)號(hào),name=姓名,sex=性別,birth=出生日期 from insertedinsert into 學(xué)生基本信息values(num,name,sex,二班,birth,1)goinsert into view1values(2002060153,李梅,0,1

溫馨提示

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

評(píng)論

0/150

提交評(píng)論