西北農(nóng)林科技大學(xué)數(shù)據(jù)庫實習(xí)五_第1頁
西北農(nóng)林科技大學(xué)數(shù)據(jù)庫實習(xí)五_第2頁
西北農(nóng)林科技大學(xué)數(shù)據(jù)庫實習(xí)五_第3頁
西北農(nóng)林科技大學(xué)數(shù)據(jù)庫實習(xí)五_第4頁
西北農(nóng)林科技大學(xué)數(shù)據(jù)庫實習(xí)五_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、存儲過程與觸發(fā)器實驗報告一、實驗?zāi)康?1)掌握Oracle數(shù)據(jù)庫編程語言PL/SQL的基礎(chǔ)知識。(2)掌握游標(biāo)、存儲過程和觸發(fā)器的創(chuàng)建,使用方法。(3) 了解使用高級語言連接數(shù)據(jù)庫的技術(shù)、基本方法,了解 的技 ODBC ADO JDBC 術(shù)。八實驗內(nèi)容在實驗一、實驗二創(chuàng)建的表中用PL/SQL語言完成以下內(nèi)容:1?創(chuàng)建存儲過程,根據(jù)調(diào)用時提供的學(xué)生姓名查詢該學(xué)生所修課程的課程信息,在過程體中將課程號、課程名和成績輸出到輸出窗口,在SQL窗口中給出過程調(diào)用語句塊。te:it ?.根搖調(diào)用時握供的學(xué)牛姑名查詢該學(xué)生廟修課程的課程信息課程窖和成績輸出到輸出窗口,在驅(qū)窗口巾給出過程調(diào)用語句create

2、or replace procedure Pl(V_snanue in student. snaraje%type ?al is select course, cnot cname, gradeopen al;| loopfetch 和芝cno out course. cnoXtypsA芝cnaHE out coursefrom studentj. coursescwhere student? sno- snainBi =V_snamiG;1 into V-cno, VAcnAme, V.grade.exit when alKnotfound;dbms_Dutput, put_line 

3、9;'V_cnn end loop;close al;必ORCL-w編譯礪功enamel type, V_grade out sc. grade%type) issno and course-cno-sc. eno and stud&nt.I |JI I V_cnaniE W ' I |V_grade);創(chuàng)建的存儲過程P1(b 11 c 11 d);訕?RJCLtn SQL § ? declareA stu d pnt r5n a me%typs出編計兼declarea student, snaneAtype := 劉鵬程b varchar2(2V );c v

4、archar2 C5Q);d number ;beginPl a, bT c? dj dbms_output. put_lineenU;|國SQL窗口 -幾色昆值:SQL輸出統(tǒng)計表清除iE沖區(qū)丸小10000116,經(jīng)濟(jì)法,33 A140,審之黨史,95291,-國際結(jié)算,42291國際結(jié)算42=眇 & 44SQL中調(diào)用的語句塊語句執(zhí)行結(jié)果2 ?創(chuàng)建存儲過程,統(tǒng)計指定學(xué)生學(xué)號的平均成績和選課門數(shù),將統(tǒng)計結(jié)果用輸出參數(shù)傳遞給主程序,在SQL窗口中調(diào)用存儲過程,輸出過程的返回結(jié)果E1B92創(chuàng)建存儲過程.統(tǒng)計拾定學(xué)生學(xué)號的平均成績和選課門數(shù).一將軌訃結(jié)果用輸出參數(shù)倍遞給主程序,在SQL窗口中調(diào)

5、用存儲過程,輸出過程的延回結(jié)果Create or replace praceduxe P2(V_sno in student* sno%typE ;avg_grade out nuniber,total ciut number)isbeginselect avg(grade),count(eno) into avg-eriide) totalfrom sc10 where sc. sno-V_sno;11 l end;< I xMDRCL£編譯咸功創(chuàng)建的存儲過程P2SQL 嗇口m用 P2 dedare a varchar?(調(diào)用巴declarea varchar2( 10) :

6、= 103846,;b number;c number;beginP2(a, b, c);dbms_output?put_line(b |J, Id; end;|SQLfAQdeclare a va rchar2(u.血山SQL iKT歙嘔樸蹶:毗*=E & 9:5 itffiKLSQL中調(diào)用存儲過程 P2執(zhí)行結(jié)果句塊。2 在SQL窗口中給出過程調(diào)用語句塊.J EI 1 di: 工二二 ;1 . .eLLc c P3 V csno ij. students n4 V_snaae in student. HnameSypa,V s£qm :二.student_6 V_snati

7、on in student- snation;ypeT阡in stud白mt節(jié)poli"ype.eV sbirth in student, sbirttire,7 V_scol 1 egp ;n stiidEnt 5CclleeB*vri.10 V una jor in etudant, unajoTtyp-11 is 12 begin1三臼 : it i:r student1 sno, snamer ssev sna tion, apolitical sbirth, scollegeT snui j or i14 v«lue5(V_sno,Vessel, Vsnatian

8、n, V_spol itical. V_sbi rthF V_scd1 legeF V_sw joris | camnitJ 16 erjdjI"?,xkWKCL-w璃諾成功存儲過程P3SQLffi入語句語句執(zhí)行結(jié)果調(diào)用語句塊。創(chuàng)建存儲過程P4Q & 2:16熱? OECLT SQL .口 - begin P4c| 二二 9 & 4:1 xkaRCL執(zhí)行SQL語句執(zhí)行語句前P1的情況,'J SQL 超二 select , from P whtre pn口 SQL 輸出 蛻計表Select from P "hera pno='FJI田aM 0P

9、HO IPHA1E COLOR fEIGHTI 11p,22=匕 & l:l* xHOBCL執(zhí)行SQL語句后的P1輸出窗口,并在SQL窗口中給出過程調(diào)用語句塊。create or replace procedure P5(V_duwn in SPJ. QTYWtype,procedure AK-PHPUKLL 吐 1 WII 凹 IRKNV,up in SPJ. QTY%type,V_pname out p. pnajiLe%type TV sname out s. snaiiie%type) iss曰 cursor c5 isselect pnaiwe, sname from p,

10、s, spjwhere p. pn? =Ep j. pna and s. eno=spj. sna jnd JiTT between V_dovm and V_up, begin HD E penc5;loopfmteh c5irrtci V-pname, V_sname exit when cSltnotfound;dbjns_nutputA put_l inB (V_pnamB | |J h ' | |V_snane), end loop;close c5; end P5;x>QQBCL創(chuàng)建的存儲過程P5111112345617189 0 12 3 4567890酬 QL窗匚

11、-declare aarchar2(5Q; b|V?,0 SQL 查口 - decldrA a v*rchar25Qk b. ”緩沖1K大小10000declareavarchar2(50) bvarchar2(50);begiPbtlOOja; b); end;紅紅民方錫感感方益感 民益為東感泰民泰東精橇 為r為豐 ,?刀刀刀 F?母母母 栓栓絲絲絲輪檜輪B螺螺 螺晶矍«凸齒齒執(zhí)行結(jié)果執(zhí)行SQL語句6. (1)刪除SPJ關(guān)系中所有數(shù)據(jù); SQL 譽(yù)匚 * delete from spj; commitSQL輔出績計提deletefromspj commt|Delate spj Co

12、mmit(無結(jié)果集)C? 4 3: ?山SOBCL七1已完咸,耗日刪除語句已清空數(shù)據(jù)(2)在插入和修改SPJ表中QTY屬性列的值時用觸發(fā)器實現(xiàn)約束:如果是 北京的供應(yīng)商,供應(yīng)任何零件的數(shù)M不能少于300,如果少于則自動改為300-XA?RCL卡I煽譯箴|(3 )在SPJ表中錄入值進(jìn)行驗證0| <=> |ST虔U SQL 匿口 - insert Into SPJ冏匚輸生績計表insertint.oSPJvalues' SlA, ' Pl, JJl3, 100);insertintoSPJvalues C S2J ?' P3?, ' J23 > 1

13、50);insertintoSPJvalues CS3? J F2 'J J3? f 200);update spjset QTY=200where sno = J S2?; |sei ect * from spj ; coirani tSNO J PNO |JNO QTY王 SIPlJI1002_S2P3J23003 S3P2J3300a 6:i6xkOORCL執(zhí)行結(jié)果7. (1)刪除SC關(guān)系中的所有數(shù)據(jù)。既 SQL 藥口 * delete from sc : select * from $c; I <=j | 回 | SQL 輸出統(tǒng)計裘delete from sc's

14、elect * fi 口 m sc;SNO CNO GRADE良 o vbfflnurTqsc表已經(jīng)清空(2)在SC關(guān)系中增加新屬性列 Status ,用來記錄課程成績的等級。盤 SQL 窗口- alter table sc add Status varchar(30? 11同L 輸出繞計提alter table sc add Status varchar(30);令select * from sc JAlter sc Select sc| SNO CNO GRADE | STATUS |=呼& 2:10-w 0新增加的Status列(3)用觸發(fā)器實現(xiàn)自動記錄成績等級,當(dāng)插入和修改gr

15、ade列的值時,如 果grade在059分,status自動填寫為“不及格” ;grade在60 69分,status 自動填寫為“及 格” ;grade在70 89分,status自動填寫為“良好” ;grade 在90以上status自動 填寫為“優(yōu)秀”。創(chuàng)建的觸發(fā)器insert insert insert insert selectSNOCNO1 101326 103101327104101328105-101329106GRADE J STATUS50不合格"62合格75良好91優(yōu)秀亍 xhflOECL七4行披選擇,耗時O.D47秒)| SQL 窘口 * insert int

16、o scfEo.grade) valuesCIOISAS'/IOS'.SOJj insert into SQL血出into sc(sno, cn。 grade) valuesC 101326*/ 1031,50); values into sc(sno, eno, grade) C 101327* / 10<, 62). values C into sc(sno, eno, grade 1 101323' / 105 75); valuesC into scCsnoA cno grade? 101329 ?106 91);* from sc執(zhí)行插入操作時候的運行結(jié)

17、果拐 SQL 窗口 - update sc set grade = 93 where sno = '101 326' update ec set gr.SQL 輸出 統(tǒng)計表update update update updatesc set gradesc set grade sc set grade sc set grade93 where sno72 where sno65 where sno41 where snoJ 101326s ? 101327, J 101328s-'101 妙SMOCNOGRADE 1STATUS10132610393合格101327104

18、72優(yōu)秀101328105口良好10132910641不一格丁 ilc?OECL44行被選擇,耗時0 031秒執(zhí)行更新操作時候的運行結(jié)果8 ?創(chuàng)建觸發(fā)器,實現(xiàn)在轉(zhuǎn)專業(yè)記錄表change_major中自動登記轉(zhuǎn)專業(yè)信息,即當(dāng)修改學(xué)生表中屬性列major的值時,系統(tǒng)自動在 change_major中插入一條 轉(zhuǎn)專業(yè)的信息(注:change_major中的id屬性列可設(shè)置為自動增長,具體參照課堂講解的例題)。品精序列 XK.CHANGE MAJOR IDORCL- Create jsegu&ncecreate sequenceCHANGEJAJOR_IDminvalue 1maxvalue 9999999start with 1incrsnient by 1nocache;關(guān)閉?幫助址)查看SQL CO xPeORCLID自動增長語句rigger X<T3ORCL »»垃 aoscL4a嵋譯感功創(chuàng)建的觸發(fā)器t3SUL KU ? updmt 色 student set sinajor ='羽口牛,15/ wfriere sname = rA.W;

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論