ORACLE数据库期末考试题目及答案Word文档格式.doc
《ORACLE数据库期末考试题目及答案Word文档格式.doc》由会员分享,可在线阅读,更多相关《ORACLE数据库期末考试题目及答案Word文档格式.doc(8页珍藏版)》请在冰点文库上搜索。
A.PGA
B.日志缓冲区
C.数据缓冲区
D.共享池
2、d)模式存储数据库中数据字典的表和视图。
(A.DBA
B.SCOTT
C.SYSTEM
D.SYS
3、Oracle中创建用户时,在若未提及DEFAULTTABLESPACE关键字,Oracle就将c)则(表空间分配给用户作为默认表空间。
A.HR
B.SCOTT
C.SYSTEM
D.SYS
4、a)服务监听并按受来自客户端应用程序的连接请求。
(
A.OracleHOME_NAMETNSListener
B.OracleServiceSID
C.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer
5、b)函数通常用来计算累计排名、移动平均数和报表聚合等。
(
A.汇总B.分析C.分组D.单行
6、b)SQL语句将为计算列SAL*12生成别名AnnualSalary(
A.SELECTename,sal*12‘AnnualSalary’FROMemp;
B.SELECTename,sal*12“AnnualSalary”FROMemp;
C.SELECTename,sal*12ASAnnualSalaryFROMemp;
D.SELECTename,sal*12ASINITCAP(“AnnualSalary”)FROMemp;
7、锁用于提供(b)。
A.改进的性能
B.数据的完整性和一致性
C.可用性和易于维护
D.用户安全
8、(c)锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。
A.行共享B.行排他C.共享D.排他
9、带有(b)子句的SELECT语句可以在表的一行或多行上放置排他锁。
A.FORINSERTB.FORUPDATEC.FORDELETED.FORREFRESH10、使用(c)命令可以在已分区表的第一个分区之前添加新分区。
A.添加分区B.截断分区C.拆分分区D.不能在第一个分区前添加分区
11、(c)分区允许用户明确地控制无序行到分区的映射。
A.散列B.范围C.列表D.复合
12、可以使用(a)伪列来访问序列。
A.CURRVAL和NEXTVALB.NEXTVAL和PREVALC.CACHE和NOCACHED.MAXVALUE和MINVALUE
13、带有错误的视图可使用(a)选项来创建。
A.FORCEB.WITHCHECKOPTIONC.CREATEVIEWWITHERRORD.CREATEERRORVIEW
14、在联接视图中,当(b)时,该基表被称为键保留表。
A.基表的主键不是结果集的主键B.基表的主键是结果集的主键C.基表的主键是结果集的外键D.基表的主键不是结果集的外键
15、在列的取值重复率比较高的列上,适合创建(d)索引。
A.标准B.唯一C.分区D.位图
16、要以自身的模式创建私有同义词,用户必须拥有(c)系统权限A.CREATEPRIVATESYNONYMB.CREATEPUBLICSYNONYMC.CREATESYNONYMD.CREATEANYSYNONYM
17、PL/SQL块中不能直接使用的SQL命令是(d)。
A.SELECTB.INSERTC.UPDATED.DROP
18、以零作除数时会引发(b)异常。
A.VALUE_ERRORB.ZERO_DIVIDEC.STORAGE_ERRORD.SELF_IS_NULL
19、要更新游标结果集中的当前行,应使用(a)子句。
A.WHERECURRENTOFB.FORUPDATEC.FORDELETED.FORMODIFY
20、用于处理得到单行查询结果的游标为(b)。
A.循环游标B.隐式游标C.REF游标D.显式游标
21、公用的子程序和常量在(c)中声明。
A.过程B.游标C.包规范D.包主体
22、数据字典视图(c)包含存储过程的代码文本A.USER_OBJECTSB.USER_TEXTC.USER_SOURCED.USER_DESC
23、以下不属于命名的PL/SQL块的是(c)。
A.程序包B.过程C.游标D.函数
24、a)包用于显示PL/SQL块和存储过程中的调试信息。
(A.DBMS_OUTPUTB.DBMS_STANDARDC.DBMS_INPUTD.DBMS_SESSION
25、Oracle的内置程序包由(a)用户所有。
A.SYSB.SYSTEMC.SCOTTD.PUBLIC
26、a)触发器允许触发操作中的语句访问行的列值。
(A.行级B.语句级C.模式D.数据库级
27、在非归档日志方式下操作的数据库禁用了(a)。
A.归档日志B.联机日志C.日志写入程序D.日志文件
28、以下哪种备份方式需要在完全关闭数据库进行(a)。
A.无归档日志模式下的数据库备份B.归档日志模式下的数据库备份C.使用导出实用程序进行逻辑备份D.以上都不对
29、b)方式的导出会从指定的表中导出所有数据。
(A.分区B.表C.全部数据库D.表空间30、
c)参数用于确定是否要导入整个导出文件。
(A.CONSTRAINTSB.TABLESC.FULLD.FILE填空题(二、填空题(每空2分,共40分)
1、假设已在某远程客户端完成网络服务名配置,服务名为aptech,请写出用户MARTIN(用户口令martinpass)连接到服务器的命令:
_Connectmartin/martinpass@aptech____________________________;
2、SYS用户以管理员身份登录后,要授予用户MARTIN可以对SCOTT用户的EMP表进行查询的权限,请写出授权命令:
(假设MARTIN用户已存在)__Grantselectonscott.emptomartin____________________________;
3、创建表employee的副本,但不包含表中的记录:
CREATETABLEemployee_copyASSelect1=2______________;
*
from
employee
where
4、查询itemfile表中itemrate列的信息,要求将数值转换为字符串,并使用当前货币符号作为前缀:
SELECT_To_char_(itemrate,'
C99999'
)FROMitemfile;
5、查itemfile表中itemdesc、re_level列的信息,要求re_level为NULL时显示为0SELECTitemdesc,_NVL_(re_level,0)FROMitemfile;
6、完成以下PL/SQL块,功能是:
显示2到50的25个偶数。
BEGINFOR_even_number_IN_1..25_LOOPDBMS_OUTPUT.PUT_LINE(even_number*2);
ENDLOOPEND;
7、完成以下PL/SQL块,功能是:
接受职员编号并检索职员姓名。
将职员姓名存储在变量empname中,如果代码引发VALUE_ERROR异常,则向用户显示错误消息。
DELCAREempnameemployee.ename%TYPE;
;
enoemployee.empno%TYPE;
BEGINeno:
=’&
employee_number’;
___SELECTenameINTOempnameFROMemployeeWHEREempno=eno;
___;
DBMS_OUTPUT.PUT_LINE(‘职员姓名:
’||empname);
_EXCEPTIONWHENVALUE_ERRORTHENDBMS_OUTPUT.PUT_LINE(‘要存储在变量中的值过大’)END;
8、完成以下PL/SQL块,功能是:
使用游标,显示所有单价低于250元的玩具的单价。
DECLAREmy_toy_pricetoys.toyprice%TYPE;
CURSORtoy_curISSELECTtoypriceFROMtoysWHEREtoyprice<
250;
BEGINOPENtoy_cur_LOOP_FETCHtoy_curINTOmy_toy_price;
_EXITWHENtoy_cur%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(toy_cur%ROWCOUNT||'
.玩具单价:
'
||my_toy_price);
ENDLOOP;
CLOSEtoy_cur;
END;
9、完成以下PL/SQL块,功能是:
使用游标显示销售报表。
如果目标销售额(tsales)大于实际销售额(asales),则显示消息“需提高销售额”。
如果tsales等于asales,则显示消息“已达到销售额”,否则显示消息“销售业绩出色”DECLARECURSORsales_curISSELECT*FROMsalesdetails;
BEGIN_FORsales_recINsales_curLOOP_IFsales_rec.tsales>
sales_rec.asalesTHENDBMS_OUTPUT.PUT_LINE('
产品:
||sales_rec.pid||'
需提高销售额'
);
ELSEIFsales_rec.tsales=sales_rec.asalesTHENDBMS_OUTPUT.PUT_LINE('
已达到销售额'
ELSEDBMS_OUTPUT.PUT_LINE('
||sales_rec.pid||'
销售业绩出色'
ENDIF;
10、完成以下PL/SQL块,功能是:
创建一个交换两数的过程。
CREATEORREPLACEPROCEDUREswap(p1INOUTNUMBER,p2_INOUT_NUMBER)ISv_tempNUMBER;
BEGINv_temp:
=p1;
p1:
=p2;
p2:
=v_temp;
11、完成以下PL/SQL块,功能是:
创建一个函数dept_name,其功能是接受职员编号后返回职员所在部门名称。
(注:
部门名称在dept表中,而职员信息在emp表中,职员所在部门号的列名为deptno)CREATEORREPLACEFUNCTIONdept_name(emp_noNUMBER)RETURNVARCHAR2ASdept_noNUMBER
(2);
resultdept.dname%TYPE;
BEGINSELECTdeptnoINTOdept_noFROMempWHEREempno=emp_no;
SELECTdnameINTOresultFROMdeptWHEREdeptno=dept_no;
_RETURNresult;
_;
EXCEPTIONWHENOTHERSTHENRETURNNULL;
12、要执行pack_me包中的order_proc过程(有一个输入参数),假设参数值为’002’,可以输入以下命令:
EXECUTE_pack_ma.order_proc(‘002’)13、完成以下PL/SQL块的功能是:
创建一个触发器biu_job_emp,无论用户插入记录,还是修改EMP表的job列,都将用户指定的job列的值转换成大写。
CREATEORREPLACETRIGGERbiu_job_emp_BEFOREINSERTORUPDATEOFjobONemp__FOREACHROW_BEGIN:
NEW.job:
=_UPPER(:
NEW.job)_;
…….