oracle模擬習(xí)題_第1頁
oracle模擬習(xí)題_第2頁
oracle模擬習(xí)題_第3頁
oracle模擬習(xí)題_第4頁
oracle模擬習(xí)題_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1、 選擇題1、關(guān)于SQL、SQL*Plus、PL/SQL相關(guān)于Oracle數(shù)據(jù)庫的說法不正確的選項是D ASQL是用來和Oracle交互的工具BSQL*Plus是編寫SQL和PL/SQL的工具CPL/SQL是Oracle提供的過程化語言 DSQL*PLUS中不能含有SQL語句 2、ORACLE中權(quán)限最大的用戶是 C A. system B. admin C. sys D. scott3、select ename from emp where job=SALESMAN order by empno desc 的第三條結(jié)果是 D A. ALLEN B. KING C. SMITH D. WARD

2、4、執(zhí)行語句select gongda from emp的執(zhí)行結(jié)果是 D A. 顯示gongda B. 無輸出 C. 顯示14行工大 D. 報異常5、執(zhí)行語句select * from emp where job=clerk,得到的結(jié)果是 B A. 輸出4行結(jié)果 B. 無輸出 C. 輸出14行結(jié)果 D. 報異常6、PL/SQL中自定義異常編號正確的選項是 B A. -01400 B. -20222 C. -01158 D. -14337、PL/SQL中,假設(shè)一條select語句沒有返回值,將引發(fā)哪個異常 B ANO_ROWS_FOUND BNO_DATA_FOUND CNO_DATA_ROWS

3、 _FOUND DNO_FIND8 、以下代碼哪一行有問題 B 1 DECLARE2 v_i NUMBER := &n ; 3 BEGIN 4 IF v_i % 3 = 0 THEN 5 dbms_output.put_line(您輸入的數(shù)字是:|v_i|可以被3整除); 6 ELSE 7 dbms_output.put_line(您輸入的數(shù)字是:|v_i|不能被3整除); 8 END IF ; 9 END;A. 第2行 B. 第4行 C. 第6行 D. 哪一行都沒錯9、有一段PL/SQL程序如下所示:var1 := 10;LOOPEXIT WHEN var1 12;var1 := var1

4、+1; DBMS_OUTPUT.PUT_LINE(A);END LOOP;輸出的結(jié)果為 C A無輸出BACA ADA A A10、以下程序執(zhí)行后的結(jié)果是 B DECLARE str1 VARCHAR2(4000):=abcdefg_hijklmn; -g和h之間的下劃線代表此處有一個空格 str2 VARCHAR2(4000); str3 VARCHAR2(4000); BEGIN select upper(str1) into str2 from dual; select LENGTH(str1) into str3 from dual; dbms_output.put_line(str2|

5、, |str3); END; A無輸出 BABCDEFG HIJKLMN, 15CABCDEFG HIJKLMN, 14 Dabcdefg hijklmn,15 11、ORACLE中權(quán)限最大的用戶是 C A. system B. admin C. sys D. scott12、oracle 11g默認(rèn)的日期格式是A A. 25-12月-2021 B. 2021-12-25 C. 12-25-2021 D. 25-12-202113、執(zhí)行語句SELECT comm FROM EMP 的執(zhí)行結(jié)果有數(shù)字顯示的是 A A. 4行 B. 無輸出 C. 14行 D. 報錯14、如何獲得系統(tǒng)當(dāng)前時間 C A

6、sysdate Bselect sysdateCselect sysdate from dual D以上都是15、執(zhí)行語句select * from emp where job=clerk,得到的結(jié)果是 B A. 輸出4行結(jié)果 B. 無輸出 C. 輸出14行結(jié)果 D. 報錯16、emp中,deptno是該表的 B A. 主鍵 B. 外鍵 C. 什么都不是 D. 主鍵+外鍵17、PL/SQL中自定義異常編號正確的選項是 B A. -01400 B. -20213 C. -01158 D. -143318、PL/SQL中,假設(shè)一條select語句沒有返回值,將引發(fā)哪個異常 B ANO_ROWS_F

7、OUND BNO_DATA_FOUND CNO_DATA_ROWS _FOUND DNO_FIND19、有一段PL/SQL程序如下所示:var1 := 10;LOOPEXIT WHEN var1 12;var1 := var1 +1; DBMS_OUTPUT.PUT_LINE(A);END LOOP;輸出的結(jié)果為 C A無輸出BACA ADA A A20、在 Oracle PL/SQL程序中,要從用戶輸入賦值給數(shù)字變量 stuid,下面代碼正確的選項是 C Astuid = & stuid Bstuid := “& stuid Cstuid : = & stuidDstuid = & stui

8、d2、 簡答題1、查詢知名字中第三個字母是“N的員工信息select * from emp where ename like _N%2、查詢所有員工工號、姓名、工資、所在部門名稱、所在地,按工資降序排列select emp.empno,emp.ename,emp.sal,dept.dname,dept.loc from emp,deptwhere emp.deptno=dept.deptno order by emp.sal3、查詢每個部門的員工數(shù)量以及該部門名稱,將員工數(shù)大于4人的部門篩選出來select dname,count(*) from scott.emp,scott.deptWHE

9、RE scott.emp.deptno=scott.dept.deptno group by dname HAVING count(*)44、查詢出沒有員工的部門信息部門編號、名稱、所在地SELECT * FROM dept WHERE deptno NOT IN (SELECT deptno FROM emp)5、查詢出工資總數(shù)最少部門的部門信息部門編號、名稱、所在地select * FROM (select dept.deptno,dept.dname,dept.loc,sum(sal) from emp,dept WHERE emp.deptno=dept.deptno group by

10、 dept.deptno,dept.dname,dept.loc order by sum(sal) where rownum26、將所有芝加哥工作的人工資加500,獎金加100UPDATE emp SET sal=sal+500 , comm=nvl(comm,0)+100WHERE emp.deptno=(SELECT deptno FROM dept WHERE loc=CHICAGO ) 7、查詢所有員工工號、姓名、工資select emp.empno,emp.ename,emp.sal from emp8、查詢出每個員工姓名、工資,并按工資降序排列select ename,sal f

11、rom emp order by sal desc9、查詢出每個員工的姓名以及部門所在地select emp.ename,dept.dname FROM emp,dept where emp.deptno=dept.deptno10、查詢出工資總數(shù)最少部門的部門信息部門編號、名稱、所在地select * FROM (select dept.deptno,dept.dname,dept.loc,sum(sal) from emp,dept WHERE emp.deptno=dept.deptno group by dept.deptno,dept.dname,dept.loc order by

12、sum(sal) where rownum211、將所有在紐約工作的人工資加500,獎金加100UPDATE emp SET sal=sal+500 , comm=nvl(comm,0)+100WHERE emp.deptno=(SELECT deptno FROM dept WHERE loc=NEW YORK ) 12、刪除工資最高的兩個員工信息delete from scott.emp where sal in SELECT sal FROM (SELECT * FROM scott.emp ORDER BY sal desc) WHERE ROWNUM 3 三、編程題1、自定義輸入任意

13、員工編號,輸出該員工編號、姓名、工資、部門名稱、所在地,如果輸入的編號錯誤,請進(jìn)行異常處理。DECLAREv_empno emp.empno%TYPE;v_ename emp.ename%TYPE;v_sal emp.sal%TYPE;v_dname dept.dname%TYPE;v_loc dept.loc%TYPE;BEGIN v_empno :=&gh; SELECT empno,ename,sal,dname,loc INTO v_empno,v_ename,v_sal,v_dname,v_loc FROM emp,dept WHERE emp.deptno=dept.deptno

14、AND empno=v_empno; dbms_output.put_line(工號|v_empno|,姓名:|v_ename|,sal:|v_sal|,dname:|v_dname|,loc:|v_loc); EXCEPTION WHEN no_data_found THEN dbms_output.put_line(該員工號不存在!); END;2、自定義輸入部門編號,查詢出該部門編號下所有員工信息(姓名、工資、部門編號),并顯示信息條數(shù)。 DECLAREv_ename emp.ename%TYPE;v_sal emp.sal%TYPE;v_deptno emp.deptno%TYPE:=

15、&kkk;CURSOR c_1 IS SELECT emp.ename,emp.sal,emp.deptno FROM emp WHERE deptno=v_deptno;BEGIN OPEN c_1; LOOP FETCH c_1 INTO v_ename,v_sal,v_deptno; IF c_1%FOUND THEN dbms_output.put_line(姓名:|v_ename|工資:|v_sal|部門編號:|v_deptno);ELSE dbms_output.put_line(查詢完畢!); dbms_output.put_line(共有:|c_1%ROWCOUNT|條記錄);

16、 EXIT; END IF; END LOOP; CLOSE c_1; END;3、編寫一個觸發(fā)器,實現(xiàn)CLERK的工資只能漲不能降,獎金只能漲不能降, 同時也不能刪除CLERK人員的信息 CREATE OR REPLACE TRIGGER bbbb BEFORE DELETE OR UPDATE OF sal,comm ON scott.emp FOR EACH ROW WHEN (old.job=CLERK) BEGIN CASE WHEN updating(sal) THEN IF :new.sal ld.sal THEN raise_application_error(-20211,C

17、LERK人員工資只能漲不能降); END IF; WHEN updating(comm) THEN IF :new m 4000 THEN RAISE_application_error(-20213,該員工工資4000太高了,裁員第一個考慮); END IF; IF v_comm IS NULL OR v_comm = 0 THEN RAISE_application_error(-20211,該員工沒有獎金??!); END IF; EXCEPTION WHEN no_data_found THEN dbms_output.put_line(您輸入的員工編號不存在!); END yuango

18、nginfo;5、編寫一個PL/SQL程序執(zhí)行第一題自定義輸入員工編號,捕獲第一題1.2、1.3拋出的異常,換個提示輸出到屏幕上.declare a12 exception; a13 exception; v_no NUMBER; pragma exception_init(a12,-20213); pragma exception_init(a13,-20211); BEGIN v_no := &n ; yuangonginfo(v_no); exception when a12 then dbms_output.put_line(該員工工資居然有4000,靠!); when a13 then dbms_output.put_line(該員工沒有獎金,要給該員工加獎金了!);end;6、向dept表中插入10條數(shù)據(jù),deptno從51開始,dname從dn51開始,loc從loc51開始 DECLARE v_counter NUMBER := 1; v_deptno dept.deptno%TYPE := 50; v_dname dept.dname%TYPE; v_dname1 dept.

溫馨提示

  • 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

提交評論