Oracle期末考试试题及答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A.RETURNB.CALLC.SETD.EXEC
10.如果服务器进程无法在数据缓冲区中找到空闲块,为添加从数据文件中读出的数据块,则系统会启动如下哪一个进程( )
A.CKPTB. DBWRC.LGWRD. SMON
11.下列哪一个锁模式不属于Oracle( )。
A.死锁B.排他锁C.行级共享锁D.共享锁
ALTER TABLE Class
________________________;
10.假设用户Lisa用Lisa以普通用户身份登录到系统,现需创建一个UPDATE语句来修改本用户下ARTISTS表中的数据,并且把每一行的T_ID值都改成15,应该使用的SQL语句是________________________ ;
四、编程题(本大题共2小题,每题10分,共20分)
1.(5空,每空2分,共10分)
(1)SELECTempno,sal
FROM employee
WHEREempno BETWEEN 7300 AND 7600;
(2) OPEN cursor_sal
(3) INTO v_empno,v_sal
(4)COMMIT;
END;
(2)假设用户已登录SQL Plus系统,处于“SQL>_”命令提示符下,现需执行存储
过程Rise_sal,请写出命令:_______⑤___________
2.创建一个函数get_sal,用于实现对表Emp(如下图)给定一个员工号(Empno),
通过函数获取该雇员的工资值,请完成以下程序。
1.__________是具有名称的一组相关权限的组合。
2.一个表空间物理上对应一个或多个__________文件。
3.标准的SQL语言语句类型可以分为:__________、数据操纵语句(DML)和__________。
4.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用__________语句。
12.有字符串数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为()
A. 10 4B. 4 4C. 10 10D. 4 10
13.在Oracle中,当控制一个显式游标时,下面哪种命令包含INTO子句( )。
A.FETCHB.CLOSEC. OPEND.CURSOR
C.一个表可以属于多个模式
D.一个模式可以拥有多个表
19.下列SELECT语句中,哪些子句可以包含子查询( )。
A.SELECTB.GROUP BYC.WHERED.ORDER BY
20.在下列模式对象中,哪个对象不会占用实际的存储空间( )。
A.视图B.表C.索引D.簇
二、填空题(共8小题,10空需要填写,每空1分,共10分)
COMMIT
8
用户进程
三、程序填空题(共10小题,10空需要填写,每空3分,共30分)
题号
答 案
1
conn scott/tiger as sysdba;
2
create user Lisa identify by Lisa
3
alter user Lisa account unlock;
4
grant select on emp to Lisa;
14.ORACLE中,用来判断列值是否为空的操作符是( )。
A. ==NULL B. NULLIS C. AS NULL D. IS NULL
15.查询一个表的总记录数,可以采用( )统计函数。
A.AVG(*)B.SUM(*)C.COUNT(*)D.MAX(*)
16.以下的哪个命令可以将SQL命令的运行结果保存到文件中( )。
考生信息栏
计科系计科专业普通版级班级姓名学号
装订线
大型数据库期末复习提示
一.题型: 1.选择40分 2.填空20分
3. 程序填空20分 4. 读程序10分 5.程序设计10分
二.试题框架
题型1,2来源为全书16章的内容,重点可以复习每章章后练习。
题型4,5 来自触发器,事务,存储过程几章内容,题目难度与书中相仿。
装订线
CLOSE cursor_sal; //关闭游标
_____④______;//提交事务
Exception
When others THEN
CLOSE cursor_sal;//关闭游标
rollback; //回滚事务
v_Errortext:='游标使用错误';
dbms_output.put_line('程序异常终止,出现以下错误:'||v_Errortext);
1
2
3
4
5
题号
6
7
8
9
10
答案
D
B
B
D
A
答案
C
C
B
D
D
题号
11
12
13
14
15
题号
16
17
18
19
20
答案
A
A
A
C
C
答案
B
B
C
C
A
二、填空题(本大题共8小题,10空,每空1分,共10分)
题号
答 案
1-2
角色
数据
3
数据定义语句(DDL)
数据控制语句(DCL)
4
select
5-6
基本表
select
7
ROLLBACK
3.假设用户SCOTT以管理员身份登录,已知用户账号Lisa被锁定,需为他解除锁定,请写出相应的命令___________________________________________;
4.假设用户SCOTT以管理员身份登录,需授予用户Lisa对SCOTT用户模式下的EMP表进行查询(SELECT)的权限,请写出相应的命令_______________________________;
A.SAVEB.SPOOLC.GETD.INPUT
17.为了去除结果集中重复的行,可在SELECT语句中使用下列哪个关键字( )。
A.ALLB.DISTINCTC.SPOOLD.HAVING
18.关于模式的描述下列哪一项不正确( )。
A.表或索引等模式对象一定属于某一个模式
B.在Oracle数据库中,模式与数据库用户是一一对应的
7.假设用户Lisa用Lisa以普通用户身份登录到系统,用命令select * from Class查询Class表中的数据,现需将缓冲区中的SQL命令保存到C盘根目录下的class.txt文件中,请写出相应的命令___________________________________________;
8.假设用户Lisa用Lisa以普通用户身份登录到系统,现需查看本用户下有哪些表,请写出相应的命令___________________________________________;
9.假设用户Lisa用Lisa以普通用户身份登录到系统,现需为Class表的ID列添加一个名为PK_CLASS_ID的主键约束,请补充完整相应的命令
5.假设用户SCOTT以管理员身份登录,在SQL Plus的SQL>提示符下,希望用户Lisa用Lisa以普通用户身份登录到系统,请写出相应的命令________________________;
6.假设用户Lisa用Lisa以普通用户身份登录到系统,现需查看本用户下的Class表的结构,请写出相应的命令___________________________________________;
(1)请将函数get_sal补充完整(3空,每空2分,共6分)
CREATE OR REPLACE FUNCTION get_sal
(v_emp_no IN emp.empno%TYPE)
______________
IS
______________emp.sal%TYPE:=0;
BEGIN
SELECT sal
5.通过视图修改数据时,实际上是在修改__________中的数据。
6.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用__________语句。
7.在众多的事务控制语句中,用来撤销事务的操作的语句为________,用于持久化事务对数据库操作的语句是________。
8.在多进程Oracle实例系统中,进程分为________、后台进程和服务器进程。
三、程序填空(共10小题,10空需要填写,每空3分,共30分)
1.假设当前用户是SCOTT用户以普通用户登录,口令为tiger,请写出该用户以_______________________________;
2.假设用户SCOTT以管理员身份登录,现需创建用户Lisa,口令是Lisa,请写出相应的命令___________________________________________;
(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;
一、选择题:(本题共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
4.下列哪个子句实现对一个结果集进行分组和汇总( )。
A.HAVINGB.ORDERBYC.WHERED.GROUPBY
5.在Oracle数据库中,( )用户模式存储数据字典表和视图对象。
A. SYS B. SYSTEM C. SCOTT D. SYSDBA
6.以下不属于命名的PL/SQL块的是( )。
A.程序包B.过程C.游标D.函数
7.在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将()表空间分配给用户作为默认表空间。
A.HRB.SCOTTC.SYSTEMD.SYS
四、编程题:(本题共2小题,每题10分,共20分)
1.请按要求完成以下程序的编写。(5空,每空2分,共10分)
以下存储过程借助游标用于实现对员工工资(Sal)的调整,调整方案为:对于员工号(empno)在7000到7200间的员工,若其原工资在1000之下,则加薪20%。
(1)请完成以下程序:
CREATE OR REPLACE PROCEDURE Rise_sal
IS
v_empnoEmp.empno%type;
v_salEmp.sal%type;
V_ErrorTextVarchar(200);
CURSORcursor_sal //定义游标CURSORcursor_sal
IS
_______①_______ //
BEGIN
______②________;//打开游标
LOOP
FETCH cursor_sal_____③_______;
EXIT WHEN cursor_sal%NOTFOUND;//逐行提取数据
IF v_sal<1500 THEN
UPDATE EmpSET sal= sal*0.20+Sal//更新数据
END LOOP;
线订装
考生信息栏
系专业级班级姓名学号
8.在Windows操作系统中,Oracle的( )服务是使用iSQL*Plus必须的。
A.OracleHOME_NAMETNSListenerB.OracleServiceSID
C.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer
9.下列哪个语句可以在SQL*Plus中直接调用一个过程( )。
5
conn Lisa/Lisa;
6
desc Class;
7
save C:\class.txt;
8
select table_name from user_tables;
9
Add constraint PK_CLASS_ID PRIMARY KEY(ID);
10
update artists setT_ID=15;
INTO v_emp_sal
FROM emp
WHERE empno=______________;
RETURN(v_emp_sal);
END get_sal;
(2)用函数get_sal查询员工7521号的工资,请写出一种查询方式。(4分)
课程名称
一、选择题:(本题共20小题,每题2分,共40分)
题号
10.如果服务器进程无法在数据缓冲区中找到空闲块,为添加从数据文件中读出的数据块,则系统会启动如下哪一个进程( )
A.CKPTB. DBWRC.LGWRD. SMON
11.下列哪一个锁模式不属于Oracle( )。
A.死锁B.排他锁C.行级共享锁D.共享锁
ALTER TABLE Class
________________________;
10.假设用户Lisa用Lisa以普通用户身份登录到系统,现需创建一个UPDATE语句来修改本用户下ARTISTS表中的数据,并且把每一行的T_ID值都改成15,应该使用的SQL语句是________________________ ;
四、编程题(本大题共2小题,每题10分,共20分)
1.(5空,每空2分,共10分)
(1)SELECTempno,sal
FROM employee
WHEREempno BETWEEN 7300 AND 7600;
(2) OPEN cursor_sal
(3) INTO v_empno,v_sal
(4)COMMIT;
END;
(2)假设用户已登录SQL Plus系统,处于“SQL>_”命令提示符下,现需执行存储
过程Rise_sal,请写出命令:_______⑤___________
2.创建一个函数get_sal,用于实现对表Emp(如下图)给定一个员工号(Empno),
通过函数获取该雇员的工资值,请完成以下程序。
1.__________是具有名称的一组相关权限的组合。
2.一个表空间物理上对应一个或多个__________文件。
3.标准的SQL语言语句类型可以分为:__________、数据操纵语句(DML)和__________。
4.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用__________语句。
12.有字符串数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为()
A. 10 4B. 4 4C. 10 10D. 4 10
13.在Oracle中,当控制一个显式游标时,下面哪种命令包含INTO子句( )。
A.FETCHB.CLOSEC. OPEND.CURSOR
C.一个表可以属于多个模式
D.一个模式可以拥有多个表
19.下列SELECT语句中,哪些子句可以包含子查询( )。
A.SELECTB.GROUP BYC.WHERED.ORDER BY
20.在下列模式对象中,哪个对象不会占用实际的存储空间( )。
A.视图B.表C.索引D.簇
二、填空题(共8小题,10空需要填写,每空1分,共10分)
COMMIT
8
用户进程
三、程序填空题(共10小题,10空需要填写,每空3分,共30分)
题号
答 案
1
conn scott/tiger as sysdba;
2
create user Lisa identify by Lisa
3
alter user Lisa account unlock;
4
grant select on emp to Lisa;
14.ORACLE中,用来判断列值是否为空的操作符是( )。
A. ==NULL B. NULLIS C. AS NULL D. IS NULL
15.查询一个表的总记录数,可以采用( )统计函数。
A.AVG(*)B.SUM(*)C.COUNT(*)D.MAX(*)
16.以下的哪个命令可以将SQL命令的运行结果保存到文件中( )。
考生信息栏
计科系计科专业普通版级班级姓名学号
装订线
大型数据库期末复习提示
一.题型: 1.选择40分 2.填空20分
3. 程序填空20分 4. 读程序10分 5.程序设计10分
二.试题框架
题型1,2来源为全书16章的内容,重点可以复习每章章后练习。
题型4,5 来自触发器,事务,存储过程几章内容,题目难度与书中相仿。
装订线
CLOSE cursor_sal; //关闭游标
_____④______;//提交事务
Exception
When others THEN
CLOSE cursor_sal;//关闭游标
rollback; //回滚事务
v_Errortext:='游标使用错误';
dbms_output.put_line('程序异常终止,出现以下错误:'||v_Errortext);
1
2
3
4
5
题号
6
7
8
9
10
答案
D
B
B
D
A
答案
C
C
B
D
D
题号
11
12
13
14
15
题号
16
17
18
19
20
答案
A
A
A
C
C
答案
B
B
C
C
A
二、填空题(本大题共8小题,10空,每空1分,共10分)
题号
答 案
1-2
角色
数据
3
数据定义语句(DDL)
数据控制语句(DCL)
4
select
5-6
基本表
select
7
ROLLBACK
3.假设用户SCOTT以管理员身份登录,已知用户账号Lisa被锁定,需为他解除锁定,请写出相应的命令___________________________________________;
4.假设用户SCOTT以管理员身份登录,需授予用户Lisa对SCOTT用户模式下的EMP表进行查询(SELECT)的权限,请写出相应的命令_______________________________;
A.SAVEB.SPOOLC.GETD.INPUT
17.为了去除结果集中重复的行,可在SELECT语句中使用下列哪个关键字( )。
A.ALLB.DISTINCTC.SPOOLD.HAVING
18.关于模式的描述下列哪一项不正确( )。
A.表或索引等模式对象一定属于某一个模式
B.在Oracle数据库中,模式与数据库用户是一一对应的
7.假设用户Lisa用Lisa以普通用户身份登录到系统,用命令select * from Class查询Class表中的数据,现需将缓冲区中的SQL命令保存到C盘根目录下的class.txt文件中,请写出相应的命令___________________________________________;
8.假设用户Lisa用Lisa以普通用户身份登录到系统,现需查看本用户下有哪些表,请写出相应的命令___________________________________________;
9.假设用户Lisa用Lisa以普通用户身份登录到系统,现需为Class表的ID列添加一个名为PK_CLASS_ID的主键约束,请补充完整相应的命令
5.假设用户SCOTT以管理员身份登录,在SQL Plus的SQL>提示符下,希望用户Lisa用Lisa以普通用户身份登录到系统,请写出相应的命令________________________;
6.假设用户Lisa用Lisa以普通用户身份登录到系统,现需查看本用户下的Class表的结构,请写出相应的命令___________________________________________;
(1)请将函数get_sal补充完整(3空,每空2分,共6分)
CREATE OR REPLACE FUNCTION get_sal
(v_emp_no IN emp.empno%TYPE)
______________
IS
______________emp.sal%TYPE:=0;
BEGIN
SELECT sal
5.通过视图修改数据时,实际上是在修改__________中的数据。
6.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用__________语句。
7.在众多的事务控制语句中,用来撤销事务的操作的语句为________,用于持久化事务对数据库操作的语句是________。
8.在多进程Oracle实例系统中,进程分为________、后台进程和服务器进程。
三、程序填空(共10小题,10空需要填写,每空3分,共30分)
1.假设当前用户是SCOTT用户以普通用户登录,口令为tiger,请写出该用户以_______________________________;
2.假设用户SCOTT以管理员身份登录,现需创建用户Lisa,口令是Lisa,请写出相应的命令___________________________________________;
(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;
一、选择题:(本题共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
4.下列哪个子句实现对一个结果集进行分组和汇总( )。
A.HAVINGB.ORDERBYC.WHERED.GROUPBY
5.在Oracle数据库中,( )用户模式存储数据字典表和视图对象。
A. SYS B. SYSTEM C. SCOTT D. SYSDBA
6.以下不属于命名的PL/SQL块的是( )。
A.程序包B.过程C.游标D.函数
7.在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将()表空间分配给用户作为默认表空间。
A.HRB.SCOTTC.SYSTEMD.SYS
四、编程题:(本题共2小题,每题10分,共20分)
1.请按要求完成以下程序的编写。(5空,每空2分,共10分)
以下存储过程借助游标用于实现对员工工资(Sal)的调整,调整方案为:对于员工号(empno)在7000到7200间的员工,若其原工资在1000之下,则加薪20%。
(1)请完成以下程序:
CREATE OR REPLACE PROCEDURE Rise_sal
IS
v_empnoEmp.empno%type;
v_salEmp.sal%type;
V_ErrorTextVarchar(200);
CURSORcursor_sal //定义游标CURSORcursor_sal
IS
_______①_______ //
BEGIN
______②________;//打开游标
LOOP
FETCH cursor_sal_____③_______;
EXIT WHEN cursor_sal%NOTFOUND;//逐行提取数据
IF v_sal<1500 THEN
UPDATE EmpSET sal= sal*0.20+Sal//更新数据
END LOOP;
线订装
考生信息栏
系专业级班级姓名学号
8.在Windows操作系统中,Oracle的( )服务是使用iSQL*Plus必须的。
A.OracleHOME_NAMETNSListenerB.OracleServiceSID
C.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer
9.下列哪个语句可以在SQL*Plus中直接调用一个过程( )。
5
conn Lisa/Lisa;
6
desc Class;
7
save C:\class.txt;
8
select table_name from user_tables;
9
Add constraint PK_CLASS_ID PRIMARY KEY(ID);
10
update artists setT_ID=15;
INTO v_emp_sal
FROM emp
WHERE empno=______________;
RETURN(v_emp_sal);
END get_sal;
(2)用函数get_sal查询员工7521号的工资,请写出一种查询方式。(4分)
课程名称
一、选择题:(本题共20小题,每题2分,共40分)
题号