oracle数据库期末考试试题及答案0002.docx

上传人:b****7 文档编号:10149231 上传时间:2023-02-08 格式:DOCX 页数:13 大小:75.42KB
下载 相关 举报
oracle数据库期末考试试题及答案0002.docx_第1页
第1页 / 共13页
oracle数据库期末考试试题及答案0002.docx_第2页
第2页 / 共13页
oracle数据库期末考试试题及答案0002.docx_第3页
第3页 / 共13页
oracle数据库期末考试试题及答案0002.docx_第4页
第4页 / 共13页
oracle数据库期末考试试题及答案0002.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

oracle数据库期末考试试题及答案0002.docx

《oracle数据库期末考试试题及答案0002.docx》由会员分享,可在线阅读,更多相关《oracle数据库期末考试试题及答案0002.docx(13页珍藏版)》请在冰豆网上搜索。

oracle数据库期末考试试题及答案0002.docx

oracle数据库期末考试试题及答案0002

oracle数据库期末考试试题及答案

C10、使用()命令可以在已分区表的第一个分区之前添加新分区。

A.添加分区B.截断分区

C.拆分分区D.不能在第一个分区前添加分区

C11、()分区允许用户明确地控制无序行到分区的映射。

A.散列B.范围C.列表D.复合

C12、可以使用()伪列来访问序列。

A.CURRVAL和NEXTVALB.NEXTVAL和PREVAL

C.CACHE和NOCACHED.MAXVALUE和MINVALUE

A13、带有错误的视图可使用()选项来创建。

A.FORCE

B.WITHCHECKOPTION

C.CREATEVIEWWITHERROR

D.CREATEERRORVIEW

B14、在联接视图中,当()时,该基表被称为键保留表。

A.基表的主键不是结果集的主键

B.基表的主键是结果集的主键

C.基表的主键是结果集的外键

D.基表的主键不是结果集的外键

D15、在列的取值重复率比较高的列上,适合创建()索引。

A.标准B.唯一C.分区D.位图

C16、要以自身的模式创建私有同义词,用户必须拥有()系统权限

A.CREATEPRIVATESYNONYM

B.CREATEPUBLICSYNONYM

C.CREATESYNONYM

D.CREATEANYSYNONYM

D17、PL/SQL块中不能直接使用的SQL命令是()。

A.SELECTB.INSERT

C.UPDATED.DROP

B18、以零作除数时会引发()异常。

A.VALUE_ERRORB.ZERO_DIVIDE

C.STORAGE_ERRORD.SELF_IS_NULL

A19、要更新游标结果集中的当前行,应使用()子句。

A.WHERECURRENTOFB.FORUPDATE

C.FORDELETED.FORMODIFY

B20、用于处理得到单行查询结果的游标为()。

A.循环游标B.隐式游标

C.REF游标D.显式游标

C21、公用的子程序和常量在()中声明。

A.过程B.游标

C.包规范D.包主体

C22、数据字典视图()包含存储过程的代码文本

A.USER_OBJECTSB.USER_TEXT

C.USER_SOURCED.USER_DESC

C23、以下不属于命名的PL/SQL块的是()。

A.程序包B.过程

C.游标D.函数

A24、()包用于显示PL/SQL块和存储过程中的调试信息。

A.DBMS_OUTPUT

B.DBMS_STANDARD

C.DBMS_INPUT

D.DBMS_SESSION

A25、Oracle的内置程序包由()用户所有。

A.SYSB.SYSTEM

C.SCOTTD.PUBLIC

A26、()触发器允许触发操作中的语句访问行的列值。

A.行级B.语句级

C.模式D.数据库级

A27、在非归档日志方式下操作的数据库禁用了()。

A.归档日志

B.联机日志

C.日志写入程序

D.日志文件

A28、以下哪种备份方式需要在完全关闭数据库进行()。

A.无归档日志模式下的数据库备份

B.归档日志模式下的数据库备份

C.使用导出实用程序进行逻辑备份

D.以上都不对

B29、()方式的导出会从指定的表中导出所有数据。

A.分区B.表

C.全部数据库D.表空间

C30、()参数用于确定是否要导入整个导出文件。

A.CONSTRAINTSB.TABLES

C.FULLD.FILE

二、填空题(每空2分,共40分)

1、假设已在某远程客户端完成网络服务名配置,服务名为aptech,请写出用户MARTIN(用户口令martinpass)连接到服务器的命令:

Connectmartin/martinpass@aptech

2、SYS用户以管理员身份登录后,要授予用户MARTIN可以对SCOTT用户的EMP表进行查询的权限,请写出授权命令:

(假设MARTIN用户已存在)

Grantselectonscott.emptomartin

创建表employee的副本,但不包含表中的记录:

CREATETABLEemployee_copyASselect*fromemployeewhere1=2

4、查询itemfile表中itemrate列的信息,要求将数值转换为字符串,并使用当前货币符号作为前缀:

SELECTto_char(itemrate,'C99999')FROMitemfile;

5、查itemfile表中itemdesc、re_level列的信息,要求re_level为NULL时显示为0

SELECTitemdesc,NVL(re_level,0)FROMitemfile;

6、完成以下PL/SQL块,功能是:

显示2 到50的25个偶数。

BEGIN

FOReven_numberIN1..25

LOOP

DBMS_OUTPUT.PUT_LINE(even_number*2);

ENDLOOP

END;

完成以下PL/SQL块,功能是:

接受职员编号并检索职员姓名。

将职员姓名存储在变量empname中,如果代码引发VALUE_ERROR异常,则向用户显示错误消息。

DELCARE

empnameemployee.ename%TYPE;;

enoemployee.empno%TYPE;

BEGIN

eno:

=’&employee_number’;

selectenameintoempnamefromemployeewhereempno=eno

DBMS_OUTPUT.PUT_LINE(‘职员姓名:

’||empname);

exception

WHENVALUE_ERRORTHEN

DBMS_OUTPUT.PUT_LINE(‘要存储在变量中的值过大’)

END;

8、完成以下PL/SQL块,功能是:

使用游标,显示所有单价低于250元的玩具的单价。

DECLARE

my_toy_pricetoys.toyprice%TYPE;

CURSORtoy_curIS

SELECTtoypriceFROMtoys

WHEREtoyprice<250;

BEGIN

Opentoy_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,则显示消息“已达到销售额”,否则显示消息“销售业绩出色”

DECLARE

CURSORsales_curISSELECT*FROMsalesdetails;

BEGIN

Forsales_resinsales_curloop

IFsales_rec.tsales>sales_rec.asalesTHEN

DBMS_OUTPUT.PUT_LINE('产品:

'||sales_rec.pid||'需提高销售额');

ELSE

IFsales_res.tsales=sales_res.asalesTHEN

DBMS_OUTPUT.PUT_LINE('产品:

'||sales_rec.pid||'已达到销售额');

ELSE

DBMS_OUTPUT.PUT_LINE('产品:

'||sales_rec.pid||'销售业绩出色');

ENDIF;

ENDIF;

ENDLOOP;

END;

10、完成以下PL/SQL块,功能是:

创建一个交换两数的过程。

CREATEORREPLACEPROCEDURE

swap(p1INOUTNUMBER,p2inoutNUMBER)IS

v_tempNUMBER;

BEGIN

v_temp:

=p1;

p1:

=p2;

p2:

=v_temp;

END;

11、完成以下PL/SQL块,功能是:

创建一个函数dept_name,其功能是接受职员编号后返回职员所在部门名称。

(注:

部门名称在dept表中,而职员信息在emp表中,职员所在部门号的列名为deptno)

CREATEORREPLACEFUNCTIONdept_name(emp_noNUMBER)

RETURNVARCHAR2AS

dept_noNUMBER

(2);

resultdept.dname%TYPE;

BEGIN

Selecetdeptnointodept_nofromempwhereempno=emp_no

SELECTdnameINTOresultFROMdept

WHEREdeptno=dept_no;

Returnresult

EXCEPTION

WHENOTHERSTHEN

RETURNNULL;

END;

12、要执行pack_me包中的order_proc过程(有一个输入参数),假设参数值为’002’,可以输入以下命令:

EXECUTEpack_ma.order-proc(‘002’)

13、完成以下PL/SQL块的功能是:

创建一个触发器biu_job_emp,无论用户插入记录,还是修改EMP表的job列,都将用户指定的job列的值转换成大写。

CREATEORREPLACETRIGGERbiu_job_emp

Beforeinsertorupdateofjobonemp

Foreachrow

BEGIN

:

NEW.job:

=upper(;new.job)

END;

答案

1.A

6.B

11.C

16.C

21.C

26.A

 

2.D

7.B

12.C

17.D

22.C

27.A

 

3.C

8.C

13.A

18.B

23.C

28.A

 

4.A

9.B

14.B

19.A

24.A

29.B

 

5.B

10.C

15.D

20.B

25.A

30.C

 

二、填空题(每空2分,共40分)

[1]

Connectmartin/martinpass@aptech

 

[2]

Grantselectonscott.emptomartin

 

[3]

Select*fromemployeewhere1=2

 

[4]

To_char

 

[5]

NVL

 

[6]

even_number

 

[7]

1..25

 

[8]

SELECTenameINTOempnameFROMemployeeWHEREempno=eno;

 

[9]

EXCEPTION

 

[10]

OPENtoy_cur

 

[11]

FETCHtoy_curINTOmy_toy_price;

 

[12]

FORsales_recINsales_curLOOP

 

[13]

sales_rec.tsales=sales_rec.asales

 

[14]

INOUT

 

[15]

SELECTdeptnoINTOdept_noFROMempWHEREempno=emp_no;

 

[16]

RETURNresult;

 

[17]

pack_ma.order_proc(‘002’)

 

[18]

BEFOREINSERTORUPDATEOFjobONemp

 

[19]

FOREACHROW

 

[20]

UPPER(:

NEW.job)

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1