中南大学oracle数据库期末考试试题及答案 下载本文

A.行级 B.语句级 C.模式 D.数据库级

A27、在非归档日志方式下操作的数据库禁用了( )。 A.归档日志 B.联机日志 C.日志写入程序 D.日志文件

A28、以下哪种备份方式需要在完全关闭数据库进行( )。 A.无归档日志模式下的数据库备份 B.归档日志模式下的数据库备份 C.使用导出实用程序进行逻辑备份 D.以上都不对

B29、( )方式的导出会从指定的表中导出所有数据。 A.分区 B.表 C.全部数据库 D.表空间

C30、( )参数用于确定是否要导入整个导出文件。 A.CONSTRAINTS B.TABLES C.FULL D.FILE 二、填空题(每空2分,共40分)

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

Connect martin/martinpass@aptech

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

Grant select on scott.emp to martin 3、

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

CREATE TABLE employee_copy AS select * from employee where 1=2

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

SELECT to_char (itemrate,'C99999') FROM itemfile; 5、查itemfile表中itemdesc、re_level列的信息,要求re_level为NULL时显示为0

SELECT itemdesc, NVL (re_level,0) FROM itemfile; 6、完成以下PL/SQL块,功能是:显示2 到50的25个偶数。 BEGIN

FOR even_number IN 1..25 LOOP

DBMS_OUTPUT.PUT_LINE(even_number*2); END LOOP END;

7、 完成以下PL/SQL块,功能是:接受职员编号并检索职员姓名。

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

empname employee.ename%TYPE;; eno employee.empno%TYPE; BEGIN

eno:=?&employee_number?;

select ename into empname from employee where empno=eno DBMS_OUTPUT.PUT_LINE(?职员姓名:?||empname); exception

WHEN VALUE_ERROR THEN

DBMS_OUTPUT.PUT_LINE(?要存储在变量中的值过大?) END;

8、完成以下PL/SQL块,功能是:使用游标,显示所有单价低于250元的玩具的单价。 DECLARE

my_toy_price toys.toyprice%TYPE; CURSOR toy_cur IS

SELECT toyprice FROM toys WHERE toyprice<250;

BEGIN

Open toy_cur LOOP

Fetch toy_cur into my_toy_price EXIT WHEN toy_cur%NOTFOUND;

DBMS_OUTPUT.PUT_LINE (toy_cur%ROWCOUNT || '. 玩

具单价:' || my_toy_price); END LOOP; CLOSE toy_cur; END;

9、完成以下PL/SQL块,功能是:使用游标显示销售报表。如果目标销售额(tsales)大于实际销售额(asales),则显示消息“需提高销售额”。如果tsales等于asales,则显示消息“已达到销售额”,否则显示消息“销售业绩出色” DECLARE

CURSOR sales_cur IS SELECT * FROM salesdetails; BEGIN

For sales_res in sales_cur loop

IF sales_rec.tsales > sales_rec.asales THEN

DBMS_OUTPUT.PUT_LINE('产品:'||sales_rec.pid||' 需提高销售额'); ELSE