oracle复习文档格式.docx

上传人:b****6 文档编号:18853411 上传时间:2023-01-01 格式:DOCX 页数:21 大小:27.15KB
下载 相关 举报
oracle复习文档格式.docx_第1页
第1页 / 共21页
oracle复习文档格式.docx_第2页
第2页 / 共21页
oracle复习文档格式.docx_第3页
第3页 / 共21页
oracle复习文档格式.docx_第4页
第4页 / 共21页
oracle复习文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

oracle复习文档格式.docx

《oracle复习文档格式.docx》由会员分享,可在线阅读,更多相关《oracle复习文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

oracle复习文档格式.docx

CLERK'

'

SALEMAN'

ANALYST'

GROUPBYdeptno

HAVINGsal>

1500;

A.第一行B.第二行

C.第三行D.第四行

8.执行以下语句出错的行是:

SELECTdeptno,max(avg(sal))

FROMemp

WHEREsal>

1000

Groupbydeptno;

9.执行以下语句出错的行是:

SELECTdeptno,dname,ename,sal

FROMemp,dept

WHEREemp.deptno=dept.deptno

ANDsal>

1000;

A.第一行B.第二行

C.第三行D.第四行

10.以下语句出错,哪种改动能够正确执行:

SELECTdeptno,max(sal)

FROMemp

GROUPBYdeptno

WHEREmax(sal)>

2500;

A.将WHERE和GROUPBY语句顺序调换一下

B.将WHEREmax(sal)>

2500语句改成HAVINGmax(sal)>

2500

C.将WHEREmax(sal)>

2500语句改成WHEREsal>

D.将WHEREmax(sal)>

2500语句改成HAVINGsal>

11.以下语句的作用是:

SELECTename,salFROMemp

WHEREsal<

(SELECTmin(sal)FROMemp)+1000;

A.显示工资低于1000元的雇员信息

B.将雇员工资小于1000元的工资增加1000后显示

C.显示超过最低工资1000元的雇员信息

D.显示不超过最低工资1000元的雇员信息

12.以下语句的作用是:

SELECTjobFROMempWHEREdeptno=10

MINUS

SELECTjobFROMempWHEREdeptno=20;

A.显示部门10的雇员职务和20的雇员职务

B.显示部门10和部门20共同的雇员职务

C.显示部门10和部门20不同的雇员职务

D.显示在部门10中出现,在部门20中不出现的雇员职务

第3章数据操作阶段练习

1.参照本章的emp表,以下正确的插入语句是:

A.INSERTINTOempVALUES(1000,'

小李'

1500);

B.INSERTINTOemp(ename,empno,sal)VALUES(1000,'

C.INSERTINTOemp(empno,ename,job)VALUES('

1000,1500);

D.INSERTINTOemp(ename,empno,sal)VALUES('

2.删除emp表的全部数据,但不提交,以下正确的语句是:

B/C

A.DELETE*FROM EMP

B.DELETEFROM EMP

C.TRUNCATETABLE EMP

D.DELETETABLE EMP

3.以下不需要进行提交或回退的操作是:

A.显式的锁定一张表

B.使用UPDATE修改表的记录

C.使用DELETE删除表的记录

D.使用SELECT查询表的记录

4.当一个用户修改了表的数据,那么:

A.第二个用户立即能够看到数据的变化

B.第二个用户必须执行ROLLBACK命令后才能看到数据的变化

C.第二个用户必须执行COMMIT命令后才能看到数据的变化

D.第二个用户因为会话不同,暂时不能看到数据的变化

5.对于ROLLBACK命令,以下准确的说法是:

A.撤销刚刚进行的数据修改操作

B.撤销本次登录以来所有的数据修改

C.撤销到上次执行提交或回退操作的点

D.撤销上一个COMMIT命令

第4章表和视图阶段练习

1.创建表时,用来说明字段默认值的是:

A.CHECKB.CONSTRAINT

C.DEFAULTD.UNIQUE

2.表的主键特点中,说法错误的是:

A.一个表只能定义一个主键B.主键可以定义在表级或列级

C.主键的每一列都必须非空D.主键的每一列都必须惟一

3.建立外键时添加ONDELETECASCADE从句的作用是:

A.删除子表的记录,主表相关记录一同删除B.删除主表的记录,子表相关记录一同删除

C.子表相关记录存在,不能删除主表记录D.主表相关记录存在,不能删除子表记录

4.下面有关表和视图的叙述中错误的是:

A.视图的数据可以来自多个表B.对视图的数据修改最终传递到基表

C.基表不存在,不能创建视图D.删除视图不会影响基表的数据

5.以下类型的视图中,有可能进行数据修改的视图是:

C/D

A.带WITHREADONLY选项的视图B.子查询中包含分组统计查询的视图

C.子查询中包含计算列的视图D.带WITHCHECKOPTION选项的视图

第5章其他数据库对象阶段练习

1.以下关键字中表示序列的是:

A.SEQUENCEB.SYNONYM

C.LUSTERD.DATABASELINK

2.关于索引,说法错误的是:

A.索引总是可以提高检索的效率B.索引由系统自动管理和使用

C.创建表的主键会自动创建索引D.删除索引对拥有索引的表的数据没有影响

3.语句CREATEINDEXABCONemp(ename)创建的序列类型是:

A.B*树惟一索引B.B*树非惟一索引

C.B*树惟一复合索引D.B*树非惟一复合索引

4.关于序列,说法错误的是:

A.序列产生的值的类型为数值型

B.序列产生的值的间隔总是相等的

C.引用序列的当前值可以用CURRVAL

D.序列一旦生成便不能修改,只能重建

5.关于同义词,说法错误的是:

A.同义词只能由创建同义词的用户使用

B.可以为存储过程创建同义词

C.同义词可以和表重名

D.公有同义词和私有同义词创建的权限不同

第6章PL/SQL基础阶段练习

1.用来存放可变长度字符串的函数是:

A.CHARB.VARCHAR2

C.NUMBERD.BOOLEAN

2.在程序中必须书写的语句是:

A.SETSERVEROUTPUTONB.DECLARE

C.BEGIND.EXCEPTION

3.在程序中正确的变量定义语句是:

A.emp_recordemp.ename%ROWTYPE

B.emp_recordemp%ROWTYPE

C.v_enameemp%TYPE

D.v_enameename%TYPE

4.在程序中最有可能发生错误的语句是:

A.INSERTINTOemp(empno,ename)VALUES(8888,'

Jone'

B.UPDATEempSETsal=sal+100

C.DELETEFROMemp

D.SELECT*FROMemp

5.关于以下分支结构,如果i的初值是15,环循结束后j的值是:

IFi>

20THEN

j:

=i*2;

ELSIFi>

15THEN

=i*3;

ELSE

=i*4;

ENDIF;

A.15B.30C.45D.60

6.关于以下循环,如果I的初值是3,则循环的次数是:

WHILEI<

6LOOP

I:

=I+1;

ENDLOOP;

A.3B.4C.5D.6

7.以下表达式的结果非空的是:

A.NULL||NULLB.'

NULL'

||NULL

C.3+NULLD.(5>

NULL)

第7章游标和异常处理阶段练习

1.关于显式游标的错误说法是:

A.使用显式游标必须先定义

B.游标是一个内存区域

C.游标对应一个SELECT语句

D.FETCH语句用来从数据库中读出一行数据到游标

2.有4条与游标有关的语句,它们在程序中出现的正确顺序是:

1)OPENabc

2)CURSORabcISSELECTenameFROMemp

3)FETCHabcINTOvname

4)CLOSEabc

A.1、2、3、4B.2、1、3、4

C.2、3、1、4D.1、3、2、4

3.用来判断FETCH语句是否成功,并且在FETCH语句失败时返回逻辑真的属性是:

A.%ROWCOUNTB.%NOTFOUND

C.%FOUNDD.%ISOPEN

4.在程序中执行语句SELECTenameFROMempWHEREjob='

可能引发的异常类型A

A.NO_DATA_FOUND

B.TOO_MANY_ROWS

C.INVALID_CURSOR

D.OTHERS

5.有关游标的论述,正确的是:

A.隐式游标属性%FOUND代表操作成功

B.显式游标的名称为SQL

C.隐式游标也能返回多行查询结果

D.可以为UPDATE语句定义一个显式游标

第8章存储过程、函数和包阶段练习

1.如果存储过程的参数类型为OUT,那么调用时传递的参数应该为:

A.常量B.表达式C.变量D.都可以

2.下列有关存储过程的特点说法错误的是:

A.存储过程不能将值传回调用的主程序

B.存储过程是一个命名的模块

C.编译的存储过程存放在数据库中

D.一个存储过程可以调用另一个存储过程

3.下列有关函数的特点说法错误的是:

A.函数必须定义返回类型

B.函数参数的类型只能是IN

C.在函数体内可以多次使用RETURN语句

D.函数的调用应使用EXECUTE命令

4.包中不能包含的元素为:

A.存储过程B.存储函数

C.游标D.表

5.下列有关包的使用说法错误的是:

A.在不同的包内模块可以重名

B.包的私有过程不能被外部程序调用

C.包体中的过程和函数必须在包头部分说明

D.必须先创建包头,然后创建包体

第9章触发器阶段练习

1.下列有关触发器和存储过程的描述,正确的是:

A.两者都可以传递参数

B.两者都可以被其他程序调用

C.两种模块中都可以包含数据库事务语句

D.两者创建的系统权限不同

2.下列事件,属于DDL事件的是:

A.INSERTB.LOGON

C.DROPD.SERVERERROR

3.假定在一个表上同时定义了行级和语句级触发器,在一次触发当中,下列说法正确的A

A.语句级触发器只执行一次

B.语句级触发器先于行级触发器执行

C.行级触发器先于语句级触发器执行

D.行级触发器对表的每一行都会执行一次

4.有关行级触发器的伪记录,下列说法正确的是:

A.INSERT事件触发器中,可以使用:

old伪记录

B.DELETE事件触发器中,可以使用:

new伪记录

C.UPDATA事件触发器中,只能使用:

D.UPDATA事件触发器中,可以使用:

5.下列有关替代触发器的描述,正确的是:

A.替代触发器创建在表上

B.替代触发器创建在数据库上

C.通过替代触发器可以向基表插入数据

D.通过替代触发器可以向视图插入数据

复习题一

1.关系模型允许定义三类完整性约束;

实体完整性、参照完整性和用户定义的完整性

2.Oracle数据库是主要由三种类型的文件组成:

数据文件、日志文件和控制文件,另外还包括一些参数文件。

其中:

数据文件的扩展名为.DBF;

日志文件的扩展名为.LOG;

控制文件的扩展名为.CTL。

3.Oracle的逻辑存储凌单元从小到大依次为:

数据块(DATABLOCKS)、盘区(EXTENT)、段(SEGMENTS)和表空间(TABLESPACES)。

4.段不再是存储空间的分配单位,而是一个独立的逻辑存储结构,按照段中据存数据的特征,可以将段分为四种类型:

数据段、索引段、回退段、LOB段和临时段。

通过dba_segments数据字典表查看

5.TEMP用于存储临时表等信息

UNDO用于保存回滚段(RollbackSegment)

USERS用于存放用户私有信息

6.Oracle的内存结构由两个内存区组成:

系统全局区(SGA)程序全局区(PGA

7.标准SQL语句分类:

DMLDDLDCL

8.求:

12+32+52+...+152的值。

输入并执行以下程序:

SETSERVEROUTPUTON

DECLARE

v_totalNUMBER(5):

=0;

v_countNUMBER(5):

=1;

BEGIN

LOOP

v_total:

=v_total+v_count**2;

EXITWHENv_count=15;

--条件退出

v_count:

=v_count+2;

DBMS_OUTPUT.PUT_LINE(v_total);

END;

9.用FOR循环输出图形。

SETSERVEROUTPUTON

FORIIN1..8

DBMS_OUTPUT.PUT_LINE(to_char(i)||rpad('

*'

I,'

));

10.输出一个空心三角形。

BEGIN

FORIIN1..9

LOOP

IFI=1ORI=9THEN

DBMS_OUTPUT.PUT_LINE(to_char(I)||rpad('

'

12-I,'

)||rpad('

2*i-1,'

)||'

||rpad('

I*2-3,'

);

ENDIF;

11.使用二重循环求1!

+2!

+...+10!

的值。

DECLARE

v_totalNUMBER(8):

v_niNUMBER(8):

JNUMBER(5);

BEGIN

FORIIN1..10

J:

v_ni:

WHILEJ<

=I

=v_ni*J;

=J+1;

v_total:

=v_total+v_ni;

--外循环求总和

DBMS_OUTPUT.PUT_LINE(v_total)

END;

12.使用标量变量。

标量变量时最简单的标量,它只能存储单个值,它的数据类型

也是系统预定义的

setserverouputon

declarevar_scorenumber;

beginvar_score:

=89;

updategrade

setscore=var_score

whereend;

13.使用%type类型的变量。

使用%type类型的变量后,如果用户随后修改数据库中该列的结构,则该数据变量的值也随之改变

declarevar_namestudent.sname%type;

begin

selectsname

intovar-name

fromstudent

wheresid='

'

;

dbms_output.put_line(var_name);

end;

14.使用记录变量。

declaretypestudent_infoisrecord(

stu_idstudent.sid%type,

sty_namestudent.sname%type

rec_studentstudent_into;

selectsid,sname

intorec_student

dbms_output.put_line(rec_student.stu_id);

dbms_output.put_line(var_student.sclass);

15.使用隐式游标

setserveroutputon

beginforstudenttablein(selectsid,sname,sbirthfromstudent)

loopdbms_output.put(studenttable.sid);

dbms_output.put(studenttable.sname);

dbms_output.put(studenttable.sbirth);

endloop;

16.使用显式游标

declarecursorstudent_curisselect*fromstudent;

student_rowstudent%rowtype;

openstudent_cur;

loop

fetchstudent_curinostudent_row;

exitwhenstudent_cur%notfound;

dbms_output.put_line(student_row.sid);

dbms_output.put_line(student_row.sname);

17.使用游标变量

declare

typestudentisrefcusor;

v_rcstudent_rc;

openv_rcforselect*fromstudent;

fetchv_rcintostudent_row;

exitwhenv_rc%notfound;

18.创建一个过程,从student表中查询信息,这个过程将显示student表中所有学生信息

createorreplaceproceure[rintstudentinfois

forstudent_curin(select*fromstudent)loop

dbms_output.put(student_cur.sid||'

\'

dbms_output.put(student_cur.sname||'

dbms_output.put(student_cur.saddress||'

endprintstudentinfo;

调用该过程

execprintstudentinfo;

19.创建程序包规范,并在其中生命一个过程和函数头,以及一个工友的记录类型

createorreplacepackageuser_pkgis

typestudent_infoisrecord(

idstudent.sid%type,

namestudent.sname%type,

birthstudent.sbirth%type;

addrstudent.saddress%type

procedureprintstudentinfo;

functiongetstudentinfo(idinvarchar2)returnstudent_info;

enduser_pkg;

20.创建程序包主题,在程序表主体中声明一个私有游标

createorreplacepackagebodyuser_pkgis

cursostudent_curisselectsid,sname,sbirth,saddressfromstudent;

procedureprintstudentinfois

studentintostudent_info;

fetchstudent_curintostudentinfo;

whilestudent_cur%foundloop

dbms_output.put(studentinfo.id||'

dbms_output.put(st

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1