Oracle樣卷和參考答案解析_第1頁
Oracle樣卷和參考答案解析_第2頁
Oracle樣卷和參考答案解析_第3頁
Oracle樣卷和參考答案解析_第4頁
Oracle樣卷和參考答案解析_第5頁
已閱讀5頁,還剩7頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、欄息信生考廈門理工學院試卷2008-2009學年第2學期課程名稱數據庫治理系統Oracle試卷卷別AB專業級班級測試閉卷方式本試卷共5大題6頁,總分值100分,測試時間120分鐘請在做題紙上作答,在試卷上作答無效.、單項選擇題本大題共20小題,每題2分,共40分在每題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在做題紙上對應的表格內.錯選、多項選擇或未選均無分B.:效勞器ip:1521/emD.:/效勞器ip:5500/em1 .通常情況下,登錄oracle企業治理器用什么命令?_DA.OracleHOME_NAMETNSListenerC.OracleHOME_NAMEAgen

2、t3.以下內存區不屬于SGA的是AD.PGAB.日志緩沖區B.OracleServiceSIDD.OracleHOME_NAMEHIIPServerC.數據緩沖區D.共享池4.卜列哪個選項小是物埋結構中的對象_CA.數據文件B.重做日志文件C.表空間D.限制文件5.在創立數據庫時,必'需的表空間是B_ATEMPTABLESPACEBSYSTEMTABLESPACECUSERSTABLESPACEDROLLBACKTABLESPACE6.使用哪一條SHUTDOWN語句關閉數據庫時,下次翻開數據庫是需要做恢復操作C的A效勞監聽并接受來自客戶端應用程序的連接請A.:效勞器ip:1521/C.

3、:效勞器ip:5500/2.在Windows操作系統中,Oracle求.ASHUTDOWNTRANSACTIONALBSHUTDOWNIMMEDIATECSHUTDOWNABORTDSHUTDOWNNORMAL7.以下哪個進程不是Oracle必須的后臺進程DADBWR數據寫入進程CSMON系統監視進程8.hSQLPLUS中,如何運行A/CEXE腳本BLGWR日志寫入進程DARCn日志歸檔進程SQL腳本程序_BB腳本D不能在SQLPLUS中直接運行腳本9 .以下選項中,哪一局部不是Oracle實例的組成局部?CA.系統全局區SGAB.PMON后臺進程C.限制文件D.Mnnn調度進程10 .如果效

4、勞器進程無法在數據緩沖區中找到空閑塊,以添加從數據文件中讀出的數據塊,那么系統會啟動如下哪一個進程DA.CKPTB.SMONC.LGWRD.DBWR11 .在默認情況下,檢查點的發生頻率至少與以下哪個事件的發生次數一致?AA.重做日志切換B.執行UPDATE語句C.執行INSERTD.SMON合并表空間中的碎片12 .ORACLE中,用來判斷列值是否為空的操作符是_B_A=NULLBISNULLCASNULLDNULLIS13 .在CUSTOMER中有一列為單價(PRICE),寫一個SELECT命令顯示所有單價在500以上的查詢語句DoASELECT*FROMCUSTOMERWHEREPRIC

5、EMORETHAN500;BSELECT*FROMCUSTOMERWHEREPRICEBETWEEN500AND*;CSELECT*FROMCUSTOMERWHEREPRICELIKE'%500%'DSELECT*FROMCUSTOMERWHEREPRICE>=500;14 .分析以下SQL命令:SELECTpriceFROMinventoryWHEREpriceBETWEEN1AND50AND(priceIN(55,30,95);命令執行后的最可能的輸出結果是:B.A55B30C95D5115 .以下需求中哪個需要用分組函數來實現?_CA.把ORDER表中的定單時間顯示

6、成'DDMONYYYY'格式B.把字符串'JANUARY28,2000'轉換成日期格式C.顯示PRODUCT表中的COST列值總量D.把PRODUCT表中的DESCRIPTION列用小寫形式顯示16 .在Oracle中,使用HAVING子句也可以進行條件查詢,以下選項說法是正確的選項是C.A.HAVING子句和WHERE子句相同B.HAVING子句用于行的條件查詢C.HAVING子句用于已分組結果的條件查詢D.以上皆非17 .以下哪個動作不會激發一個觸發器?_BA.更新數據B.查詢數據C.刪除數據D.插入數據18 .公用的子程序和常量在_C中聲明.A.過程B.游

7、標C.包標準D.包主體19 .在列的取值重復率比擬高的列上,適合創立_A索引.A.標準B.唯一C.分區D.位圖20.Oracle中,當需要使用顯式游標更新游標中的行時,聲明游標時指定的SELECT語句必須帶有_C_子句.A.WHERECURRENTOFB.INTOC.FORUPDATED.ORDERBY、填空題本大題共5小題,每空1分,共10分請在做題紙上每題的空格中填上正確答案.錯填、不填均無分.21 .Oracle的后臺進程中,DRWR進程負責將更改的數據從數據庫緩沖區高速緩存寫入數據文件;CKPT進程負責在每當緩沖區高速緩存中的更改永久地記錄在數據庫中時,更新限制文件和數據文件中的數據庫

8、狀態信息.22 .在Oracle中,使用DESC命令可顯示表的結構,使用COMMIT命令可提交對表數據的修改.23 .PL/SQL程序中,用戶自定義異常是通過顯式使用raise語句來觸發的;查看操作在數據表中所影響的行數,可通過游標的%ROWCOUNT_屬性實現.24 .Oracle中,進行邏輯備份與恢復時使用的導出命令是EXP;導入命令是IMP.欄息信生考25 .填寫下面的語句,使其可以為Class表的ID列添加一個名為PK_CLASS_ID的主鍵約束:ALTERTABLEClassAdd_CONSTRAINTPK_CLASS_IDPRIMARYKEYID;三、程序閱讀題本大題共4小題,每題

9、5分,共20分26 .閱讀以下程序,理解其功能,寫出運行結果:DECLAREvar_anumber:=1200;var_bnumber;BEGINIFvar_a>500THENvar_b:=5;ELSIFvara>1000THEN27 .閱讀以下程序,理解其功能,寫出運行結果:setserveroutputondeclarectrinteger:=0;beginwhilectr<5loopdbms_output.put(ctr+1|'');ctr:=ctr+1;endloop;end;/程序運行結果:1234528 .閱讀以下程序,理解其功能,寫出運行結果:s

10、etserveroutputondeclaresummnumber:=0;Inumber(3):=10;beginwhileI>0loopsumm:=summ+i;I:=I-1;endloop;dbms_output.put_line(summ);end;/程序運行結果:5529 .閱讀以下程序,理解其功能,寫出運行結果:DECLAREv_weightNUMBER(3):=100;BEGINDECLAREv_weightNUMBER(3):=1;BEGINv_weight:=v_weight+2;END;v_weight:=v_weight+1;DBMS_OUTPUT.PUT_LINE(

11、'V_weight='|to_char(v_weight);END;/程序運行結果:_V_weight=101四、程序填空題(本大題共1小題,每空2分,共10分)第四和第五題可能用到的Employee表結構和數據如卜圖-1:E皿)1oye已表數據房稀類型及長度EKPWOENANEJC»SALDEFIWOEMPN0KUMBER(4)7369SMITHCLERK30020ENAIVE7499ALLEUSALESMAN16W30JOB75?1WAf®SALESMAN1J503flSALHUMBER.,2)7556JONES網峭EE237520DEPTNOHUMBE

12、R(2)1654MARTINSALESMAN1250307098BLAKEMANNER2850307782CUMCTOTAGER2450IC7788SCOTTAHALYST3000SO7839KI1KP版SILENT5000107844TURMERSALESMAN15003078?6AI>ANSCLERK1100207900JAMESCLERK團口307902FORDAN6LM3D01307934MILLERCL£EK130010圖-1Employee表結構和數據30 .閱讀以下程序,理解其功能,完成空白:以下程序段實現的是從employee表中讀取員工姓名(ename)和薪資

13、(sal),并使用游標逐行比擬,將薪資值在1000-3000之間的員工姓名和薪資輸出.declare(1) cursorc_emp_cursor-定義游標c_emp_cursoris(2)_selectename,salfromemployee;v_enameemployee.ename%type;v_salemployee.sal%type;beginopenc_emp_cursor;-翻開游標loop-遍歷游標_(3)fetchc_emp_cursorintov_ename,v_sal;exitwhen(4)c_emp_cursor%notfoundifv_sal>1000andv_

14、sal<3000thendbms_output.put_line(v_ename|'|v_sal);-輸出數據endif;endloop;(5)closec_emp_cursor;-關閉游標end;五、編程題(本大題共2小題,每題10分,共20分)31.根據圖-1Employee表的結構,完成以下程序的編寫:(1)編寫一個查詢,顯示各個職位(job)和該職位工資在1000元以上并3000元以下的人數.(4分)1 SELECTjab7count(*)2 FROMEmployee3 WHEREsalbetween1000and30004 GROUPBYjab:(2)編寫一個PL/SQ

15、L函數count_by_job,接受傳入參數職位(job),據此統計并返回該職位員工數.(6分)寫出程序代碼CREA'I'LORREPLACEFLNCUONeounl_byJob(Vjabmvarchar?)R£iJL'RMnuiiibcr3ASnumnumber=0;5BEGINSELECT<?ount(*)INIOmmiFROMEii卬loyeHER£JOB-VJob;RETURN(mun):10END;執行結果測試:SQL>selectcnimt_hi|#_jQbi(-CLERKb)count.nLERK2Fromdu乳;COUHT

16、CLCRK32.編寫一個觸發器t_emp_bak,用以備份employee表的歷史數據,假設用戶對表employee進行刪除操作,那么將被刪除的數據轉移到表emp_del,假設用戶對表employee進行更新操作,那么將更新前的原始數據行轉移到表emp_update中.注:表emp_del和emp_update結構與employee相同.1 CREATEORREPLACERIGGERt_emp_bakBEFOREdeleteorupdateONemployee4 FOREACHROW5 BEGINIFdeletingTHEN7 insertintoemp_del(EMPNO.ENAMEJOB,

17、SAL,DEPTNO)8 vah峻(QLD,eN1PNO.:OLD.ENAME;OLD.JOB,:OLD.SzXL,:OLD.DEPTNO);9 ENDIF;IFupdatingTHENinsertiiituetnpupdate(ENIPNOjENANfE.JOB.SAL.DEPTNO)values(:OLD.EKlPNO/OLDrNAME;OLD.JOBT:OLD.SzL,:OLD.DEPTNO);13 ENDIF;14 END;15 1Code:CREATEORREPLACETRIGGERt_emp_bakBEFOREdeleteorupdateONemployeeFOREACHROWBEGINIFdeletingTHENinsertintoemp_del(EMPNO,ENAME,JOB,SAL,DEPTNO)values(:OLD.EMPNO,:OLD.ENAME,:OLD.JOB,:OLD.SAL,:OLD.DEPTNO);ENDIF;IFupdatingTHENinsertintoemp_update(EMPNO,ENAME,JOB,SAL,DEPTNO)values(:OLD.EMPNO,:OLD.ENAME,:OLD.JOB,:OLD.SAL,:OLD.DEPTNO);ENDIF;END;/CR

溫馨提示

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

評論

0/150

提交評論