Oracle期末考试试题与答案
初中数学论文范文-生日快乐简谱
号
学
线
名
姓
一、选择题:(本题共 20 个小题,每小题
2 分,共 40 分)
栏
1
当 Oracle 服务器启动时,下列哪种文件不是必须的
A.
数据文件
B. 控制文件
C. 日志文件
(
) 。
D.
归档日志文件
(
息
2. 在 Oracle
中,一个用户拥有的所有数据库对象统称为
A. 数据库
)。
B. 模式
C. 表空间
D.
实例
信
级
班
级
订
3.在 Oracle
数据库的逻辑结构中有以下组件:
1. 表空间
2. 数据块
3.
区
)。
4. 段
生
这些组件从大到小依次是(
A. 1→2→3→4
业
专
B.1→4→3→2
C.1→3→2→4 D. 4→1→3→2
(
)。
BY
考
4.下列哪个子句实现对一个结果集进行分组和汇总
BY
装
5. 在 Oracle 数据库中,
(
)用户模式存储数据字典表和视图对象。
C.
SCOTT
)。
D.函数
D.
SYSDBA
A. SYS
B.
SYSTEM
6.以下不属于命名的 PLSQL 块的是 (
系
A .程序包
B.过程
C.游标
7.在 Oracle 中创建用户时,若未提及 DEFAULT
TABLESPACE
关键字,则 Oracle
就将(
)表空间分配给用户作为默认表空间。
B. SCOTT
C.SYSTEM
D.SYS
A .HR
第1页共6页
8.在 Windows 操作系统中,
Oracle 的(
)服务是使用 iSQL*Plus 必须的。
B. OracleServiceSID
D.
OracleHOME_NAMEHTTPServer
A
.OracleHOME_NAMETNSListener
C.
OracleHOME_NAMEAgent
9.下列哪个语句可以在
SQL*Plus 中直接调用一个过程 (
A. RETURN
)。
B. CALL
C. SET
D. EXEC
10.如果服务器进程无法在数据缓冲区中找到空闲块,为添加从数
据文件中读出的数据块,则系统会
启动如下哪一个进程 (
)
)。
D.共享锁
)
D. SMON
B. DBWR
11.下列哪一个锁模式不属于 Oracle(
A. 死锁
B.排他锁
C.行级共享锁
12.有字符串数据” test”分别存放到
char(10)和 varchar2(10)类型的字段中,其实际存储长度为 (
A.10 4
B.4 4
C. 10
10
D. 4
10
13.在
Oracle 中,当控制一个显式游标时,下面哪种命令包含
A. FETCH
B. CLOSE
INTO 子句 (
D.
CURSOR
)。
C. OPEN
14. ORACLE
中,用来判断列值是否为空的操作符是 (
A. ==NULL
B.
NULLIS
C. AS NULL
)统计函数。
C. COUNT(*)
)。
D. IS NULL
15.查询一个表的总记录数,可以采用
(
A. AVG(*)
B. SUM(*)
D. MAX(*)
)。
16.以下的哪个命令可以将 SQL
命令的运行结果保存到文件中
(
17.为了去除结果集中重复的行,可在 SELECT
语句中使用下列哪个关键字 (
CT
)。
) 。
18.关于模式的描述下列哪一项不正确 (
A.
表或索引等模式对象一定属于某一个模式
B.在 Oracle
数据库中,模式与数据库用户是一一对应的
C.一个表可以属于多个模式
D.一个模式可以拥有多个表
19.下列 SELECT 语句中,哪些子句可以包含子查询 (
)。
BY
BY
(
)。
20.在下列模式对象中,哪个对象不会占用实际的存储空间
A. 视图
B.表
C.索引
D.簇
第2页共6页
二、填空题(共 8 小题, 10
空需要填写,每空 1 分,共 10 分)
1.
__________是具有名称的一组相关权限的组合。
2.
一个表空间物理上对应一个或多个 __________文件。
3.标准的 SQL
语言语句类型可以分为:
__________、数据操纵语句( DML )和
__________。
4.
如果需要向表中插入一批已经存在的数据,可以在
INSERT 语句中使用
__________ 语句。
5.通过视图修改数据时,实际上是在修改
__________中的数据。
6.如果需要向表中插入一批已经存在的数据,可以在
INSERT
语句中使用 __________语句。
________,用于持久化事务对数据库操作
7.在众多的事务控制语句中,用来撤销事务的操作的语句为
的语句是
________。
8. 在多进程 Oracle 实例系统中,进程分为
________、后台进程和服务器进程。
三、程序填空(共 10 小题, 10
空需要填写,每空 3 分,共 30 分)
1. 假设当前用户是
SCOTT用户以普通用户登录, 口令为 tiger,请写出该用户以管理员身份登录的命令
;
2.假设用户 SCOTT以管理员身份登录,现需创建用户
Lisa,口令是 Lisa,请写出相应的命令
;
3. 假设用户 SCOTT以管理员身份登录,已知用户账号 Lisa被锁定,需为他解除锁定,请
写出相应的命
令_______________________________________
____;
4. 假设用户 SCOTT以管理员身份登录,需授予用户
Lisa对SCOTT用户模式下的 EMP表进行查询
(SELECT)
的权限,请写出相应的命令
;
5. 假设用户
SCOTT以管理员身份登录, 在SQL Plus的SQL> 提示符下,希望用户
Lisa用Lisa以普通
用户身份登录到系统,请写出相应的命令
________________________;
6.
假设用户
Lisa用 Lisa以普通用户身份登录到系统,现需查看本用户下的
Class表的结构,请写出相
应
的命令
___________________________________________;
select * from Class查询
Class表中的数
7.
假设用户 Lisa用
Lisa以普通用户身份登录到系统,用命令
据,
现需将缓冲区中的 SQL 命令保存到 C盘根目录下的 文件中 , 请写出相应的命令
_________________________________________
__;
8. 假设用户 Lisa用
Lisa以普通用户身份登录到系统,现需查看本用户下有哪些表,请写出相应的命令
__
_________________________________________;
第3页共6页
9. 假设用户 Lisa用 Lisa以普通用户身份登录到系统,
现需为 Class 表的 ID 列添加一
个名为 PK_CLASS_ID
的主键约束,请补充完整相应的命令
ALTER TABLE Class
________________________;
10. 假设用户 Lisa用Lisa以普通用户身份登录到系统,现需创建一个 UPDATE
语句来
修改本用户下 ARTISTS 表中的数据,并且把每一行的 T_ID 值都改成
15,应该使用
的SQL 语句是 ________________________
;
四、 编程题:(本题共 2 小题,每题 10 分,共 20
分)
1. 请按要求完成以下程序的编写。 (5空,每空
2分,共 10分)
以下存储过程借助游标用于实现对员工工资
(Sal)的调整,调整方案为:对于员工号
(empno)在7000到7200间的员工,若其原工资在 1000之下,则加薪
20%。
(1) 请完成以下程序:
CREATE OR
REPLACE PROCEDURE Rise_sal
IS
v_empno
%type;
v_sal
%type;
V_ErrorText
Varchar(200);
CURSOR cursor_sal 定义游标 CURSOR cursor_sal
IS
_______①_______
BEGIN
______②
________;
打开游标
LOOP
FETCH cursor_sal _____③ _______;
EXIT WHEN cursor_sal%NOTFOUND; 逐行提取数据
IF v_sal<1500 THEN
UPDATE Emp SET
sal= sal*0.20+Sal
更新数据
END
LOOP;
第4页共6页
装
订
线
CLOSE cursor_sal;
关闭游标
_____④______;
提交事务
Exception
When others THEN
CLOSE
cursor_sal;关闭游标
rollback;
回滚事务
v_Errortext:='游标使用错误 ';
号
dbms__line('程序异常终止,出现以下错误:
'||v_Errortext);
学
线
END;
(2) 假设用户已登录
SQL Plus
系统,处于 “ SQL>_”命令提示符下,现需执行存储
栏
名
过程 Rise_sal,请写出命令:
_______⑤___________
姓
2.
创建一个函数 get_sal,用于实现对表 Emp(如下图 )给定一个员工号
(Empno),
息
通过函数获取该雇员的工资值
,请完成以下程序。
订
信
级
班
生
级
考
(1)请将函数 get_sal补充完整 (3 空,每空 2 分,共 6 分)
业
CREATE OR REPLACE FUNCTION
get_sal
专
(v_emp_no IN
%TYPE)
装
______________
IS
______________ %TYPE: =0;
BEGIN
系
SELECT sal
INTO v_emp_sal
FROM emp
第5页共6页
WHERE
empno=______________;
RETURN(v_emp_sal);
END
get_sal;
(2)用函数 get_sal查询员工 7521
号的工资,请写出一种查询方式。 (4 分)
第6页共6页
课程名称
一、选择题:(本题共
20 小题,每题 2 分,共 40 分)
题号
答案
题号
答案
1
D
11
A
2
B
12
A
3
B
13
A
4
D
14
C
5
A
15
C
题号6
答案
题号
答案B
C
16
7
C
17
B
8
B
18
C
9
D
19
C
10
D
20
A
二、填空题(本大题共
8 小题, 10 空,每空 1 分,共 10 分)
题号
1-2
3
4
5-6
7
8
答
案
角色
数据
数据定义语句(
DDL)
数据控制语句(
DCL)
select
基本表
ROLLBACK
select
COMMIT
用户进程
三、程序填空题(共 10 小题, 10 空需要填写,每空
题号
1
2
3
4
5
6
7
8
9
3 分,共
30 分)
答
案
conn scotttiger as
sysdba;
create user Lisa identify by
Lisa
alter user Lisa account unlock;
grant select on emp to Lisa;
conn LisaLisa;
desc
Class;
save
C:
;
select table_name from user_tables;
Add constraint PK_CLASS_ID PRIMARY KEY(ID)
;
10
update artists set
T_ID
=15;
第7页共2页
四、编程题(本大题共 2 小题,每题 10 分,共 20 分)
1
. (5空,每空
2分,共
10分)
(1)SELECT
FROM
WHERE
empno,sal
employee
empno BETWEEN 7300 AND 7600;
(2) OPEN
cursor_sal
(3) INTO v_empno,v_sal
(4)
COMMIT;
(5) EXEC Rise_sal;
2. (1)请将函数
get_sal 补充完整 (3 空,每空 2 分,共 6 分)
RETURN
NUMBER
v_emp_sal
v_emp_no
(2) 用函数 get_sal查询员工 7521 号的工资,请写出一种查询方式。 (4 分)
Select get_sal (7521)
from dual;
第8页共2页