數(shù)據(jù)庫實驗報告_第1頁
數(shù)據(jù)庫實驗報告_第2頁
數(shù)據(jù)庫實驗報告_第3頁
數(shù)據(jù)庫實驗報告_第4頁
數(shù)據(jù)庫實驗報告_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《大型數(shù)據(jù)庫技術及應用》試驗匯報4

試驗名稱:PL/SQL基礎(2)

專業(yè)班級:姓名:

學號:實

期:年月日

試驗目的掌握隱式游標的基本操作;掌握游標的屬性操作;掌握參數(shù)化游標的使用;掌握存儲過程的創(chuàng)立及使用;掌握復用重做日志文獻組的措施及復用重做日志組員文獻的措施;掌握日志組及日志組員狀態(tài)的對應視圖;掌握數(shù)據(jù)庫歸檔模式的切換;試驗內(nèi)容掌握隱式游標的基本操作;游標的屬性操作3、參數(shù)化游標4、存儲過程的創(chuàng)立及使用

試驗匯報填寫闡明:PARTA為闡明部分,不要打印到試驗匯報中,PARTB為練習部分,將對應的試驗截圖粘貼入對應位置。PARTA闡明:1、掌握隱式游標的基本操作;隱式游標---由Oracle數(shù)據(jù)庫自動創(chuàng)立,名稱是(SQL),重要用途是可以返回一種操作與否成功或失敗.(1)由Oracle在內(nèi)部申明,由系統(tǒng)管理(2)用于處理-DML語句--注意只能用于DML語句哦。-返回單行的查詢--假如使用select..into,則規(guī)定該select查詢的成果只包括一條記錄(3)用于判斷一種操作與否成功.SQL%notfound--返回Boolean值存在成果集返回FalseSQL%found--返回Boolean值存在成果集返回TrueSQL%rowcount--修改波及到的記錄的行數(shù)SQL%isopen--在隱式游標里一般這個屬性是自動打開和關閉的,且任何時候查詢都返回False。例1、SetserveroutputondeclareiCountint:=0;begininsertintoemp(empno,enmae)values(2,'jerry');DBMS_output.put_line('游標所影響的行數(shù):'||SQL%rowcount);ifSQL%NotFountthenDBMS_output.put_line('NotFount為真);elseDBMS_output.put_line('NofFount為假');endif;2、顯式游標的屬性操作與否找到游標-%FOUND此屬性表達目前游標與否指向有效的一行,取值:TRUEFALSE例2:BeginDeletefromempWhereempno=7934;Ifsql%foundthenDbms_output.put_line(‘deletesuccess’);ElseDbms_output.put_line(‘deletefail’);Endif;End;闡明:該例使用了隱式游標,當然,顯式游標也可以使用屬性%FOUND(2)與否未找到游標-%NOTFOUND上例等價于:例3:BeginDeletefromempWhereempno=7934;Ifsql%notfoundthenDbms_output.put_line(‘deletefail’);ElseDbms_output.put_line(‘deletesuccess’);Endif;End;/(3)游標行數(shù)-%ROWCOUNT此屬性記錄了顧客成功提取數(shù)據(jù)的行數(shù),也可以理解為游標所在的行數(shù)。例4:DeclareEmplemp%rowtype;Cursoremp_curisSelect*fromemp;BeginOpenemp_cur;LoopFetchemp_curintoempl;Dbms_output.put_line(to_char(empl.empno));Exitwhenemp_cur%rowcount=5;Endloop;Closeemp_cur;End;(4)與否打開游標-%ISOPEN例5:DeclareEmplemp%rowtype;Cursoremp_curisSelect*fromemp;BeginIfemp_cur%isopenthenFetchemp_curintoempl;Dbms_output.put_line(to_char(empl.empno));ElseDbms_output.put_line(‘emp_curisnotopen’);Openemp_cur;LoopFetchemp_curintoempl;Dbms_output.put_line(to_char(empl.empno));Exitwhenemp_cur%rowcount=5;Endloop;Closeemp_cur;Endif;End;/3、參數(shù)化游標在定義游標時可以帶上參數(shù),使得在使用游標時,根據(jù)參數(shù)不一樣所選中的成果集也不一樣,到達動態(tài)使用游標的目的。例6:首先在SQL/PLUS上輸入下面的語句:Acceptdept_idprompt‘pleaseinputthedeptno:’闡明:accept是SQL/PLUS的命令,不是pl/sql語句,類似于c語言的cin,該命令可以接受你的鍵盤輸入到dept_id。例6:DeclareDidemp.Deptno%type:=&dept_id;Emplemp%rowtype;Cursoremp_cur(deptidnumber)isSelect*fromempwheredeptno=deptid;BeginOpenemp_cur(did);LoopFetchemp_curintoempl;Dbms_output.put_line(to_char(empl.empno));Exitwhen(emp_cur%rowcount=3)or(emp_cur%notfound);Endloop;Closeemp_cur;End;4、存儲過程的創(chuàng)立及使用

所謂的存儲過程就是存儲在數(shù)據(jù)庫中的過程,該過程與數(shù)據(jù)庫中的表、視圖同樣屬于數(shù)據(jù)庫對象。(1)語法Create[orreplace]procedure<過程名>(<參數(shù)1>,[方式1]<數(shù)據(jù)類型1>,<參數(shù)2>,[方式2]<數(shù)據(jù)類型2>…)Is|asPl/sql例例7:創(chuàng)立存儲過程Createorreplaceproceduredept_member_num(in_deptnoinemp.deptno%type)AsOut_numnumber;BeginSelectcount(*)intoout_numFromempwheredeptno=in_deptno;Dbms_output.put_line(‘thenumberofdept’||to_char(in_deptno)||’is’||to_char(out_num));Enddept_member_num;調(diào)用存儲過程:分別執(zhí)行Executedept_member_num(10);Executedept_member_num(20);Executedept_member_num(30);PARTB練習:將工資不不小于1000的員工的工資更新為原始工資的1.2倍,并將影響到的行數(shù)輸出到屏幕上;將工資不小于50000的員工的工資更新為原始工資的1.5倍,假如找不到,請輸出“未找到工資不小于50000的員工”從鍵盤輸入員工的員工號,使用參數(shù)化游標在屏幕輸出顯示員工的基本信息;從鍵盤輸入員工的員工號,使用參數(shù)化游標在屏幕輸出顯示入職日期早于1985年12月1日的員工的基本信息;列出既有日志文獻的位置和名稱,顯示數(shù)據(jù)庫所擁有的重做日志文獻組號,組員的數(shù)量和日志文獻的大小selectgroup#,sequence#,members,bytes,status,archivedfromv$log;select*fromv$logfile;查詢數(shù)據(jù)庫的歸檔模式,查看與否啟用了自動歸檔archiveloglist;闡明目前日志組號和最大日志序列號,進行手工日志切換,重新闡明目前日志組號和最大序列號,selectgroup#,sequence#fromv$log;進行手工日志切換,altersystemswitchlogfile;selectgroup#,sequence#fromv$log;在E盤增長新的日志組,其中包括兩個組員,大小為1M在E:\盤為每個日志組添加一種組員,規(guī)定新增日志組員的大小與原有日志組員大小一致;添加一種日志文獻組,參照書本P.366-P.367;查看剛添加日志組的group#,sequence#,members,status信息;查看剛添加日志組員文獻的group#,members,status信息;將數(shù)據(jù)庫設置為歸檔模式,并通過log_archive_dest_n設置兩個歸檔文獻的位置;參照書本P.367;試驗截圖必須包括實際歸檔日志的信息。三、試驗數(shù)據(jù)

SCOTT.EMPSCOTT.DEPTSCOTT.SALGRADE思索題怎樣將數(shù)據(jù)庫設置為自動管理UNDO數(shù)據(jù)?假如設置了undo_retention,Oracl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論