文档库 最新最全的文档下载
当前位置:文档库 › oracle数据库期末考试试题及答案

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






(卷) 课 程 名
称 
ORACLE
数 据 库
考 试 方
式开卷
 闭卷
√
九江学院
郭



一 二 三 四 五 六









考生注意事项1、本试卷共 4 页请查看试卷中是否有缺页。

2、考
试 结
束后
考 生
不 得
将 试
卷、答
题 纸
带 出
考场。
1、以下 内存区不属于SGA。
APGA B日志缓冲区 C数据缓冲区 D共享池
2、 模式存储数据库中数据字典的表和视图。
ADBA BSCOTT CSYSTEM DSYS
3、在Oracle中创建用户时若未提及DEFAULT TABLESPACE关键字则Oracle就将 
表空间分配给用户作为默认表空间。
AHR BSCOTT CSYSTEM DSYS
4、 服务监听并按受来自客户端应用程序的连接请求。
AOracleHOME_NAMETNSListener
BOracleServiceSID
COracleHOME_NAMEAgent
DOracleHOME_NAMEHTTPServer
5、 函数通常用来计算累计排名、移动平均数和报表聚合等。
A汇总 B分析 C分组 D单行
6、 SQL语句将为计算列SAL*12生成别名Annual Salary
ASELECT ename,sal*12 ?Annual Salary? FROM emp;
BSELECT ename,sal*12 “Annual Salary” FROM emp;
CSELECT ename,sal*12 AS Annual Salary FROM emp;
DSELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp;
7、锁用于提供( )。
A改进的性能
B数据的完整性和一致性
C可用性和易于维护
D用户安全
8、( )锁用于锁定表允许其他用户查询表中的行和锁定表但不允许插入、更新和删除
行。
A行共享 B行排他 C共享 D排他
9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 AFOR INSERT BFOR UPDATE
CFOR DELETE DFOR REFRESH
10、使用( )命令可以在已分区表的第一个分区之前添加新分区。
A添加分区 B截断分区
C拆分分区 D不能在第一个分区前添加分区
11、( )分区允许用户明确地控制无序行到分区的映射。
A散列 B范围 C列表 D复合
12、可以使用 伪列来访问序列。
ACURRVAL和NEXTVAL BNEXTVAL和PREVAL
CCACHE和NOCACHE DMAXVALUE和MINVALUE
13、带有错误的视图可使用 选项来创建。
AFORCE
BWITH CHECK OPTION
CCREATE VIEW WITH ERROR
DCREATE ERROR VIEW
14、在联接视图中当 时该基表被称为键保留表。
A基表的主键不是结果集的主键
B基表的主键是结果集的主键
C基表的主键是结果集的外键
D基表的主键不是

结果集的外键
15、在列的取值重复率比较高的列上适合创建 索引。
A标准 B唯一 C分区 D位图
16、要以自身的模式创建私有同义词用户必须拥有 系统权限
ACREATE PRIVATE SYNONYM
BCREATE PUBLIC SYNONYM
CCREATE SYNONYM
DCREATE ANY SYNONYM
17、PL/SQL块中不能直接使用的SQL命令是 。
ASELECT BINSERT
CUPDATE DDROP
18、以零作除数时会引发 异常。
AVALUE_ERROR BZERO_DIVIDE
CSTORAGE_ERROR DSELF_IS_NULL
19、要更新游标结果集中的当前行应使用 子句。
AWHERE CURRENT OF BFOR UPDATE
CFOR DELETE DFOR MODIFY
20、用于处理得到单行查询结果的游标为 。
A循环游标 B隐式游标
CREF游标 D显式游标
21、公用的子程序和常量在 中声明。
A过程 B游标
C包规范 D包主体
22、数据字典视图 包含存储过程的代码文本
AUSER_OBJECTS BUSER_TEXT CUSER_SOURCE DUSER_DESC
23、以下不属于命名的PL/SQL块的是 。
A程序包 B过程
C游标 D函数
24、 包用于显示PL/SQL块和存储过程中的调试信息。
ADBMS_OUTPUT
BDBMS_STANDARD
CDBMS_INPUT
DDBMS_SESSION
25、Oracle的内置程序包由 用户所有。
ASYS BSYSTEM
CSCOTT DPUBLIC
26、 触发器允许触发操作中的语句访问行的列值。
A行级 B语句级
C模式 D数据库级
27、在非归档日志方式下操作的数据库禁用了 。
A归档日志
B联机日志
C日志写入程序
D日志文件
28、以下哪种备份方式需要在完全关闭数据库进行 。
A无归档日志模式下的数据库备份
B归档日志模式下的数据库备份
C使用导出实用程序进行逻辑备份
D以上都不对
29、 方式的导出会从指定的表中导出所有数据。
A分区 B表
C全部数据库 D表空间
30、 参数用于确定是否要导入整个导出文件。
ACONSTRAINTS BTABLES
CFULL DFILE
二、填空题每空2分共40分
1、假设已在某远程客户端完成网络服务名配置服务名为aptech请写出用户MARTIN用
户口令martinpass连接到服务器的命令
__________________________[1]__________________________________
2、SYS用户以管理员身份登录后要授予用户MARTIN可以对SCOTT用户的EMP表进
行查询的权限请写出授权命令假设MARTIN用户已存在
_________________________[2]___________________________________
3、 创建表emp

loyee的副本但不包含表中的记录
CREATE TABLE employee_copy AS____________[3]___________________
4、查询itemfile表中itemrate列的信息要求将数值转换为字符串并使用当前货币符号
作为前缀 SELECT ____[4]____(itemrate,'C99999') FROM itemfile
5、查itemfile表中itemdesc、re_level列的信息要求re_level为NULL时显示为0
SELECT itemdesc, __[5]__(re_level,0) FROM itemfile
6、完成以下PL/SQL块功能是显示2 到50的25个偶数。
BEGIN
FOR____[6]_____ IN ____[7]_____
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?;
___________________[8]______________________________________;
DBMS_OUTPUT.PUT_LINE(?职员姓名?||empname);
______[9]______
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
________[10]_______
LOOP
_______________[11]_____________
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
_____________________[12]______________
IF sales_rec.tsales > sales_rec.asales THEN
DBMS_OUTPUT.PUT_LINE('产品'||sales_rec.pid||' 需提高销售额');
ELSE
IF _____________[13]______________ THEN
DBMS_OUTPUT.PUT_LINE('产品'||sales_rec.pid||'已达到销售额');
ELSE
DBMS_OUTPUT.PUT_LINE('产品' ||sales_rec.pid||'销售业绩出色');
END IF;
END IF;
END LOOP;
END;
10、完成以下PL/SQL块功能是创建一个交换两数的过程。
CREATE OR REPLACE PROCEDURE
swap(p1 IN OUT NUMBER, p2 ____[14]_____ NUMBER) IS
v_temp NUMBER;
BEGIN
v_temp := p1;
p1 := p2;
p2 := v_temp;
END;
11、完成以下PL/SQL块功能是创建一个函数dept_name其功能是接受职员编号后
返回职员所在部门名称。注部门名称在dept表中而

职员信息在emp表中职员所在
部门号的列名为deptno
CREATE OR REPLACE FUNCTION dept_name (emp_no NUMBER)
RETURN VARCHAR2 AS
dept_no NUMBER(2);
result dept.dname%TYPE;
BEGIN

___________________[15]___________________________________
SELECT dname INTO result FROM dept
WHERE deptno = dept_no;
________[16]__________;
EXCEPTION
WHEN OTHERS THEN
RETURN NULL;
END;
12、要执行pack_me包中的order_proc过程有一个输入参数假设参数值为?002?可
以输入以下命令 EXECUTE ___________[17]__________________
13、完成以下PL/SQL块的功能是创建一个触发器biu_job_emp无论用户插入记录
还是修改EMP表的job列都将用户指定的job列的值转换成大写。
CREATE OR REPLACE TRIGGER biu_job_emp
_________________[18]________________
____________[19]_______
BEGIN
:NEW.job :=______[20]_____;
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] Connect martin/martinpass@aptech
[2] Grant select on scott.emp to martin
[3] Select * from employee where 1=2
[4] To_char
[5] NVL
[6] even_number
[7] 1..25
[8] SELECT ename INTO empname FROM employee WHERE empno=eno;
[9] EXCEPTION
[10] OPEN toy_cur
[11] FETCH toy_cur INTO my_toy_price;
[12] FOR sales_rec IN sales_cur LOOP
[13] sales_rec.tsales = sales_rec.asales
[14] IN OUT
[15] SELECT deptno INTO dept_no FROM emp WHERE empno=emp_no;
[16] RETURN result;
[17] pack_ma.order_proc(‘002’
[18] BEFORE INSERT OR UPDATE OF job ON emp [19] FOR EACH ROW
[20] UPPER(:NEW.job)

相关文档
相关文档 最新文档