Oracle期末考试试题及答案Word格式.docx
《Oracle期末考试试题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《Oracle期末考试试题及答案Word格式.docx(9页珍藏版)》请在冰点文库上搜索。
A.程序包B.过程C.游标D.函数
7.在Oracle中创建用户时,若未提及DEFAULTTABLESPACE关键字,则Oracle就将()表空间分配给用户作为默认表空间。
A.HRB.SCOTTC.SYSTEMD.SYS
8.在Windows操作系统中,Oracle的()服务是使用iSQL*Plus必须的。
A.OracleHOME_NAMETNSListenerB.OracleServiceSID
C.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer
9.下列哪个语句可以在SQL*Plus中直接调用一个过程()。
A.RETURNB.CALLC.SETD.EXEC
10.如果服务器进程无法在数据缓冲区中找到空闲块,为添加从数据文件中读出的数据块,则系统会启动如下哪一个进程()
A.CKPTB.DBWRC.LGWRD.SMON
11.下列哪一个锁模式不属于Oracle()。
A.死锁B.排他锁C.行级共享锁D.共享锁
12.有字符串数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为()
A.104B.44C.1010D.410
13.在Oracle中,当控制一个显式游标时,下面哪种命令包含INTO子句()。
A.FETCHB.CLOSEC.OPEND.CURSOR
14.ORACLE中,用来判断列值是否为空的操作符是()。
A.==NULLB.NULLISC.ASNULLD.ISNULL
15.查询一个表的总记录数,可以采用()统计函数。
A.AVG(*)B.SUM(*)C.COUNT(*)D.MAX(*)
16.以下的哪个命令可以将SQL命令的运行结果保存到文件中()。
A.SAVEB.SPOOLC.GETD.INPUT
17.为了去除结果集中重复的行,可在SELECT语句中使用下列哪个关键字()。
A.ALLB.DISTINCTC.SPOOLD.HAVING
18.关于模式的描述下列哪一项不正确()。
A.表或索引等模式对象一定属于某一个模式
B.在Oracle数据库中,模式与数据库用户是一一对应的
C.一个表可以属于多个模式
D.一个模式可以拥有多个表
19.下列SELECT语句中,哪些子句可以包含子查询()。
A.SELECTB.GROUPBYC.WHERED.ORDERBY
20.在下列模式对象中,哪个对象不会占用实际的存储空间()。
A.视图B.表C.索引D.簇
二、填空题(共8小题,10空需要填写,每空1分,共10分)
1.__________是具有名称的一组相关权限的组合。
2.一个表空间物理上对应一个或多个__________文件。
3.标准的SQL语言语句类型可以分为:
__________、数据操纵语句(DML)和__________。
4.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用__________语句。
5.通过视图修改数据时,实际上是在修改__________中的数据。
6.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用__________语句。
7.在众多的事务控制语句中,用来撤销事务的操作的语句为________,用于持久化事务对数据库操作的语句是________。
8.在多进程Oracle实例系统中,进程分为________、后台进程和服务器进程。
三、程序填空(共10小题,10空需要填写,每空3分,共30分)
1.假设当前用户是SCOTT用户以普通用户登录,口令为tiger,请写出该用户以管理员身份登录的命令
________________________________________;
2.假设用户SCOTT以管理员身份登录,现需创建用户Lisa,口令是Lisa,请写出相应的命令___________________________________________;
3.假设用户SCOTT以管理员身份登录,已知用户账号Lisa被锁定,需为他解除锁定,请写出相应的命令___________________________________________;
4.假设用户SCOTT以管理员身份登录,需授予用户Lisa对SCOTT用户模式下的EMP表进行查询(SELECT)的权限,请写出相应的命令_______________________________;
5.假设用户SCOTT以管理员身份登录,在SQLPlus的SQL>
提示符下,希望用户Lisa用Lisa以普通用户身份登录到系统,请写出相应的命令________________________;
6.假设用户Lisa用Lisa以普通用户身份登录到系统,现需查看本用户下的Class表的结构,请写出相应的命令___________________________________________;
7.假设用户Lisa用Lisa以普通用户身份登录到系统,用命令select*fromClass查询Class表中的数据,现需将缓冲区中的SQL命令保存到C盘根目录下的class.txt文件中,请写出相应的命令___________________________________________;
8.假设用户Lisa用Lisa以普通用户身份登录到系统,现需查看本用户下有哪些表,请写出相应的命令___________________________________________;
9.假设用户Lisa用Lisa以普通用户身份登录到系统,现需为Class表的ID列添加一个名为PK_CLASS_ID的主键约束,请补充完整相应的命令
ALTERTABLEClass
________________________;
10.假设用户Lisa用Lisa以普通用户身份登录到系统,现需创建一个UPDATE语句来修改本用户下ARTISTS表中的数据,并且把每一行的T_ID值都改成15,应该使用的SQL语句是________________________;
四、编程题:
(本题共2小题,每题10分,共20分)
1.请按要求完成以下程序的编写。
(5空,每空2分,共10分)
以下存储过程借助游标用于实现对员工工资(Sal)的调整,调整方案为:
对于员工号(empno)在7000到7200间的员工,若其原工资在1000之下,则加薪20%。
(1)请完成以下程序:
CREATEORREPLACEPROCEDURERise_sal
IS
v_empnoEmp.empno%type;
v_salEmp.sal%type;
V_ErrorTextVarchar(200);
CURSORcursor_sal//定义游标CURSORcursor_sal
IS
_______①_______//
BEGIN
______②________;
//打开游标
LOOP
FETCHcursor_sal_____③_______;
EXITWHENcursor_sal%NOTFOUND;
//逐行提取数据
IFv_sal<
1500THEN
UPDATEEmpSETsal=sal*0.20+Sal//更新数据
ENDLOOP;
线订装
CLOSEcursor_sal;
//关闭游标
_____④______;
//提交事务
Exception
WhenothersTHEN
rollback;
//回滚事务
v_Errortext:
='
游标使用错误'
;
dbms_output.put_line('
程序异常终止,出现以下错误:
'
||v_Errortext);
END;
(2)假设用户已登录SQLPlus系统,处于“SQL>
_”命令提示符下,现需执行存储
过程Rise_sal,请写出命令:
_______⑤___________
2.创建一个函数get_sal,用于实现对表Emp(如下图)给定一个员工号(Empno),
通过函数获取该雇员的工资值,请完成以下程序。
(1)请将函数get_sal补充完整(3空,每空2分,共6分)
CREATEORREPLACEFUNCTIONget_sal
(v_emp_noINemp.empno%TYPE)
______________
______________emp.sal%TYPE:
=0;
SELECTsal
INTOv_emp_sal
FROMemp
WHEREempno=______________;
RETURN(v_emp_sal);
ENDget_sal;
(2)用函数get_sal查询员工7521号的工资,请写出一种查询方式。
(4分)
课程名称
(本题共20小题,每题2分,共40分)
题号
1
2
3
4
5
6
7
8
9
10
答案
D
B
A
C
C
11
12
13
14
15
16
17
18
19
20
A
C
B
C
二、填空题(本大题共8小题,10空,每空1分,共10分)
答案
1-2
角色
数据
数据定义语句(DDL)
数据控制语句(DCL)
select
5-6
基本表
ROLLBACK
COMMIT
用户进程
三、程序填空题(共10小题,10空需要填写,每空3分,共30分)
connscott/tigerassysdba;
createuserLisaidentifybyLisa
alteruserLisaaccountunlock;
grantselectonemptoLisa;
connLisa/Lisa;
descClass;
saveC:
\class.txt;
selecttable_namefromuser_tables;
AddconstraintPK_CLASS_IDPRIMARYKEY(ID);
updateartistssetT_ID=15;
四、编程题(本大题共2小题,每题10分,共20分)
1.(5空,每空2分,共10分)
(1)SELECTempno,sal
FROMemployee
WHEREempnoBETWEEN7300AND7600;
(2)OPENcursor_sal
(3)INTOv_empno,v_sal
(4)COMMIT;
(5)EXECRise_sal;
2.
(1)请将函数get_sal补充完整(3空,每空2分,共6分)
RETURNNUMBER
v_emp_sal
v_emp_no
(2)用函数get_sal查询员工7521号的工资,请写出一种查询方式。
Selectget_sal(7521)
fromdual;