12计算机 - Oracle数据库试卷A卷

更新时间:2023-12-09 19:53:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

北京交通职业技术学院期末考试试题

课程名称: 1Oracle数据库(A)卷 2013—2014学年第二学期 出题教师:孙继亮 12计算机技术专业 学号:___________ 姓名:___________

(请考生注意:本试卷共有四道大题)

一、选择题(每题1分,共10题,共10分)

1、Oracle数据库中为新创建的表分配的初始空间通常为多大( ) A、一个块 B、一个区 C、一个段

D、c一个表空间

2、关于存储过程参数,正确的说法是( )

A、存储过程的输出参数可以是标量类型,也可以是表类型 B、存储过程输入参数可以不输入信息而调用过程

C、可以指定字符参数的字符长度(函数的()或者过程的(number/varchar2)) D、以上说法都不对

3、下列说法,正确的说法是( )

A、只要在存储过程中有增删改语句,一定加自治事务 B、在函数内可以修改表数据 C、函数不能递归调用 D、以上说法都不对

4、有一产品表(编号,名称,价格,数量,所属分类),下列语法不正确的是( ) A、select * from 产品表 where价格>1000

B、select sum(价格) from 产品表 group by 所属分类 having max(价格)>1000 C、select所属分类,sum(价格) from 产品表 where 价格>1000 group by 所属分类

D、select所属分类,sum(价格) from 产品表 where max(价格)>1000 group by 所属分类

5、关于触发器,下列说法正确的是( ) A、可以在表上创建INSTEAD OF 触发器

B、语句级触发器不能使用“:old”和“:new” C、行级触发器不能用于审计功能 D、触发器可以显式调用

第 1 页 共 9 页

6、下列那些是Oracle的伪列( ) A、ROWID

B、ROW_NUMBER() C、LEVEL D、ROWNUM E、COLUMN

7、当表的重复行数据很多时,应该创建的索引类型应该是( ) A、B树 B、reverse C、bitmap D、函数索引

8、在建表时如果希望某列的值,在一定的范围内,应建什么样的约束?( ) A、primary key B、unique C、check D、not null 9、利用游标来修改数据时,所用的。。FOR UPDATE充分利用了事务的哪个特性?( ) A、原子性 B、一致性 C、永久性 D、隔离性

10、下列说法不正确的是( )全对

A、在PLSQL自定义函数中如果包含UPDATE、DELETE、INSERT语句,不必在函数体内给出COMMIT;

B、自定义函数可以在SQL语句中调用、也可以在PLSQL块中调用 C、自定义函数可以返回表类型

D、自定义函数中的参数可以是OUT类型 二、填空题(每空2分,共10空,共20分)

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

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

___________________________________________________________;

第 2 页 共 9 页

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

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

SELECT _______(itemrate,'C99999') FROM itemfile; 5、查itemfile表中itemdesc、re_level列的信息,要求re_level为NULL时显示为0 SELECT itemdesc, __(re_level,0) FROM itemfile; 6、完成以下PL/SQL块,功能是:显示2 到50的25个偶数。 BEGIN

FOR_______________ IN _________________ 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’;

________________________________________________________; DBMS_OUTPUT.PUT_LINE(‘职员姓名:’||empname); _____________________

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

_____________________________ LOOP

FETCH toy_cur INTO my_toy_price; EXIT WHEN toy_cur%NOTFOUND;

第 3 页 共 9 页

DBMS_OUTPUT.PUT_LINE (toy_cur%ROWCOUNT || '. 玩具单价:' ||

my_toy_price); END LOOP; CLOSE toy_cur; END;

三、简答(每题10分,共4题,共40分)1.绑定变量是什么?绑定变量有什么优缺点?

2.简单描述tablespace / segment / extent / block之间的关系

第 4 页 共 9 页

3.日志的作用是什么?

4.Oracle系统进程主要有哪些,作用是什么?

四、程序题(每题10分,共3题,共30分)

1、查找出当前用户模式下,每张表的记录数,以scott用户为例,结果应如下:

DEPT...................................4

EMP...................................14 BONUS.................................0 SALGRADE.............................5 其实现的代码是:

第 5 页 共 9 页

第 6 页 共 9 页

2、某cc表数据如下: c1 c2

-------------- 1 西 1 安 1 的 2 天 2 气 3 好 ?? 转换为 1 西安的 2 天气 3 好

要求:不能改变表结构及数据内容,仅在最后通过SELECT显示出这个查询结果

代码为:

第 7 页 共 9 页

3、表nba记录了nba(team VARCHAR2(10),y NUMBER(4))夺冠球队的名称及年份: TEAM Y

-------------------- ------------------------------ 活塞 1990 公牛 1991 公牛 1992 公牛 1993 火箭 1994 火箭 1995 公牛 1996 公牛 1997 公牛 1998 马刺 1999 湖人 2000 湖人 2001 湖人 2002 马刺 2003 活塞 2004 马刺 2005 热火 2006 马刺 2007 凯尔特人 2008 湖人 2009 湖人 2010

请写出一条SQL语句,查询出在此期间连续获得冠军的有哪些,其连续的年份的起止时间是多少,结果如下:

TEAM B E

-------------------- ---------- -------------------------------- 公牛 1991 1993 火箭 1994 1995 公牛 1996 1998 湖人 2000 2002 湖人 2009 2010

第 8 页 共 9 页

第 9 页 共 9 页

本文来源:https://www.bwwdw.com/article/9wc5.html

Top