oracle数据库试题.docx

上传人:b****6 文档编号:3800055 上传时间:2022-11-25 格式:DOCX 页数:14 大小:209.03KB
下载 相关 举报
oracle数据库试题.docx_第1页
第1页 / 共14页
oracle数据库试题.docx_第2页
第2页 / 共14页
oracle数据库试题.docx_第3页
第3页 / 共14页
oracle数据库试题.docx_第4页
第4页 / 共14页
oracle数据库试题.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

oracle数据库试题.docx

《oracle数据库试题.docx》由会员分享,可在线阅读,更多相关《oracle数据库试题.docx(14页珍藏版)》请在冰豆网上搜索。

oracle数据库试题.docx

oracle数据库试题

ORACLE数据库试题

74

 

姓名:

戴希引

」、选择题(总分50分,每题1分,*为多选)42

1.下列不属于ORACL的逻辑结构的是(C)

A区B段C数据文件D表空间

2.下面哪个用户不是ORACL缺省安装后就存在的用户(A)

A.SYSDBAB.SYSTEMC.SCOTTD.SYS

3下面哪个操作会导致用户连接到ORACL数据库,但不能创建表(A)A授予了CONNEC®角色,但没有授予RESOURCE角色B没有授予用户系统管理员的角色

C数据库实例没有启动

D数据库监听没有启动

4.在Oracle中,当FETCH语句从游标获得数据时,下面叙述正确的是A游标打开B游标关闭C当前记录的数据加载到变量中D创建变量保存当前记录的数据

5.在Oracle中,下面关于函数描述正确的是(AD)

ASYSDAT函数返回Oracle服务器的日期和时间

BROUNDS字函数按四舍五入原则返回指定十进制数最靠近的整数

CADD_MONTH日期函数返回指定两个月份天数的和

DSUBST函数从字符串指定的位置返回指定长度的子串

6•阅读下面的PL/SQL程序块:

BEGIN

INSERTINTO

'Fred

employee(salary,last_name,first_name)VALUES(35000,'Wang

');__

SAVEPOINTsave_a;

INSERTINTOemployee(salary,last_name,first_name)

VALUES(40000,WoO,'David');

SAVEPOINTsave_b;

DELETEFROMemployeeWHEREdept_no=10;

SAVEPOINTsave_c;

INSERTINTOemployee(salary,last_name,first_name)

VALUES(2000,'Lee','Bert');

ROLLBACKTOSAVEPOINTsave_c;

'Mike

B)。

INSERTINTOemployee(salary,last_name,first_name)VALUES(32000;Chung','Mike');

ROLLBACKTOSAVEPOINTsave_b;

COMMIT;

END;

运行上面的程序,哪两个更改永久保存到数据库(CD)

ADELETEFROMemployeeWHEREdept_no=10;

BINSERTINTOemployee(salary,last_name,first_name)VALUES(32000,'Chung'

');__

CINSERTINTOemployee(salary,last_name,first_name)

VALUES(35000,Wang,'Fred');

DINSERTINTOemployee(salary,last_name,first_name)

VALUES(40000,Wo6,'David');

7.在Oracle中,表VENDO包含以下列:

VENDOR_IDNUMBERPrimaryKey

NAMEVARCHAR2(30)

LOCATION_IDNUMBER

ORDER_DTDATE

ORDER_AMOUNTNUMBER(8,2)

下面对表VENDO运用分组函数的子句合法的是(C)。

AFROMMAX(order_dt)BSELECTSUM(order_dt)

CSELECTSUM(order_amount)DWHEREMAX(order_dt)=order

8.在Oracle中,表EMP包含以下列:

NAMEVARCHAR2(20)

ADDRVARCHAR2(60)

要以NAMEsaddressisADDR格式返回数据,以下SQL语句正确的是(ASELECTNAME+'''saddressis‘+ADDRFROMEMP;BSELECTNAME||'''saddressis‘||ADDRFROMEMP;CSELECTNAME+'saddressis‘+ADDRFROMEMP;

DSELECTNAME||''saddressis‘||ADDRFROMEMP;

9.在Oracle中,以下不属于集合操作符的是(B)

AUNIONBSUMCMINUSDINTERSECT

10.在Oracle中,关于锁,下列描述不正确的是(D)A锁用于在用户之间控制对数据的并发访问

B可以将锁归类为行级锁和表级锁

Cinsert、update、delete语句自动获得行级锁

D同一时间只能有一个用户锁定一个特定的表

11.在Oracle中,序列venseq使用下面的语句创建:

CREATESEQUENCEvenseqINCREMENTBY1STARTWITH10

MAXVALUE100MINVALUE10CYCLECACHE5;

下面对序列venseq修改的语句,错误的是(A)。

AALTERSEQUENCEvenseqSTARTWITH1;

BALTERSEQUENCEvenseqMAXVALUE90;

CALTERSEQUENCEvenseqNOMINVALUE;

DALTERSEQUENCEvenseqNOCACHE;

12.在Oracle中,使用以下语句创建视图:

CREATEORREPLACEVIEWpen_viewASSELECT*FROMorder_masterWHEREostatus='p'WITHCHECKOPTIONCONSTRAINTpenv;当用户试图执行以下语句:

UPDATEpen_viewSETostatus='d'WHERE

ostatus='p';下列描述正确的是(B)。

AOracle将ostatus修改为d,不提示任何错误

BOracle不执行更新操作,并返回错误信息

COracle将ostatus修改为d,同时返回错误信息

DOracle不执行更新操作,也不提示任何错误

13.在Oracle中,在以下情形建立位图索引可以获得较好的性能(C)。

A在列值唯一的列上建立B在列值相差很小的列上建立

C在列值频繁重复的列上建立D在用于保存位图的列上建立

14.在Oracle中,通过命令(D)可以释放锁。

AINSERTBDELETECROLLBACKDUNLOCK

15.在Oracle中,关于PL/SQL下列描述正确的是(C)。

APL/SQL代表PowerLanguage/SQL

BPL/SQL不支持面向对象编程

CPL/SQL块包括声明部分、可执行部分和异常处理部分

DPL/SQL提供的四种内置数据类型是character」nteger,float,boolean

16.在Oracle中,阅读下列PL/SQL块:

DECLARE

v_lowerNUMBER:

=2;

v_upperNUMBER:

=100;

v_countNUMBER:

=1;

BEGIN

I=2;I<=2;i++

FORiINv_lower..v_lowerLOOP

INSERTINTOtest(results)VALUES(v_count);

v_count:

=v_count+1;

ENDLOOP;

END;

请问FORLOO循环体执行了(A)次

A1B98C100D235

17.在Oracle中,关于子程序的描述不正确的是(C)。

子程序就是存储过程和函数.

A子程序是已命名的PL/SQL块,可带参数并可在需要时随时调用

B子程序可以具有声明部分、可执行部分和异常处理部分

C子程序参数的模式只有IN和OUT两种模式

D子程序可分为过程和函数两种类型

18.在Oracle中,关于触发器的描述正确的是(D)。

A触发器可以删除,但不能禁用

B触发器只能用于表

C触发器可以分为行级和语句级两种

D触发器是一个对关联表发出insert、update>delete或select…forupdate语句时触发的存储过程

19.在Oracle中,你需要创建索引提高薪水审查的性能,该审查要对员工薪水提高12个百分点后进行分析处理,下面哪个createindex命令能解决此问题

(A)0

ACREATEINDEXmy_idx_1ONemployee(salary*1.12);

BCREATEUNIQUEINDEXmy_idx_1ONemployee(salary);

CCREATEBITMAPINDEXmy_idx_1ONemployee(salary);

DCREATEINDEXmy_idx_1ONemployee(salary)REVERSE;

20.在Oracle中,执行下面的语句:

SELECEeil(-97.342),floor(-97.342),round(-97.342),trunc(-97.342)

FROMdual;哪个函数的返回值不等于-97(B)。

Aceil()Bfloor()Cround(0)Dtrunc()

21.在Oracle中,用以下SQL命令创建了一个序列:

CREATESEQUENCEmy_seqSTARTWITH394INCREMENTBY12NOMINVALUENOMAXVALUENOCYCLENOCACHE;

用户执行包含my_seq.NEXTVA的SQL语句三次,然后执行包含my_seq.CURRVAlLSQL语句四次,请问序列my_seq的当前值是(B)

A406B418C430D442E242

22.在Oracle中,下列哪种标量类型不能保存到数据库表中(B)。

ACHARBRAWCDATEDBOOLEAN

23.在Oracle中,不属于游标属性的是(C)。

A%NOTFOUNDB%FOUNDC%ISCLOSED%ISOPEN

24.在Oracle中,在SQL提示符下调用PL/SQL过程的方法是(ABC)。

*

A使用CALL语句B使用EXECUT语句C使用RUN语句D直接使用过程名

25.在Oracle中,用下列语句定义了一个过程:

CREATEORREPLACEPROCEDUREtest(aINVARCHAR2,bINOUTNUMBER,cOUTVARCHAR2)IS

BEGIN

END;/

假定使用的变量都已定义,下面对过程test的调用语法正确的是(C)。

Atest('String1',50,v_str2)Btest(v_str1,v_num1,'String2')

Ctest('String1',v_num1,v_str2)Dtest(v_str1,20,v_str2)

26.在Oracle中,关于程序包的描述不正确的是(B)。

A程序包是一种数据库对象,它是对相关PL/SQL类型、子程序、游标、异常、变量和常量的封装

B程序包中私有对象是通过PRIVATE关键字来标识的程序包体可以包括没有在程序包规范中列出的对象,这些是私有对象,程序包的用户不能使用CPL/SQL允许两个或多个打包的子程序具有同一名称,只要子程序接受的参数数据类型不同

D程序包具有模块化、信息隐藏、新增功能及性能更佳等优点

27.在Oracle中,用户(A)拥有所有内置的程序包。

ASYSBSYSTEMCPUBLICDDEFAULT

28.在Oracle中,通过命令(CD)可以释放锁。

*

AINSERTBDELETECROLLBACKDCOMMIT

29.在Oracle中,事务中使用下列SQL语句不会引起锁定(A)。

ASELECTBINSERTCUPDATEDDELETE

30.在Windows操作系统中,Oracle的(A)服务器监听并接受来自客户端应用程序的连接请求。

AOracleHOME_NAMETNSListenerBOracleServiceSID

COracleHOME_NAMEAgentDOracleHOME_NAMEHTTPServer

31.在Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是(C)。

Aselectseq.ROWNUMfromdual;Bselectseq.ROWIDfromdual;

Cselectseq.CURRVALfromdual;Dselectseq.NEXTVALfromdual;

32.ORACL冲,执行语句:

SELECT

address1||',‘||address2||','||address2”Address”FROMhmploy;将会返回(B)列。

A0B1C2D3

33.在Oracle中,INSTEADOF触发器主要用于(D)。

A表B表和视图C基于单个表的视图D基于多个表的视图

34.Oracle数据库中,通过(B)访问能够以最快的方式访问表中的一行。

A主键BRowidC唯一索引D整表扫描

35.Oracle数据库中,以下(C)命令可以删除整个表中的数据,并且无法回滚。

AdropBdeleteCtruncateDcascade

36.Oralce数据库中,以下(A)函数可以针对任意数据类型进行操作。

ATO_CHARBLOWERCMAXDCEIL

37.在Oracle中,以下是STUDENT表的结构:

SIDNUMBERNOTNU,LLPrimaryKey

SNAMEVARCHAR2(30)

COURSE_IDVARCHAR2(10)NOTNULLMARKSNUMBER

你需要查询参加了课程ID为C10的考试,并且分数排在前10名的学生,以下(D)语句能够实现此功能。

A.SELECTSID,marks,ROWNUM“Rank”FORMstudentsWHEREROWNUM<=10ANDcourse_id='C10'ORDERBYmarksDESC;

B.SELECTSID,marks,ROWNU”MRank”FORMstudentsHEREROWNUM<=10ANDcourse_id='C10ORDERBYmarks;

C.SELECTSID,marks,ROWNU”MRank”FORM(SELECTSID,marksFORMstudentsWHEREROWNUM<=10ANDcourse_id=10ORDERBYmarksDESC;

D.SELECTSID,marks,ROWNU”MRank”FORM(SELECTSID,marksFORMstudentsWHEREcourse_id=C10ORDERBYmarksDESC)WHEREROWNUM<=10;

38.在Oracle中,用于PL/SQL程序输出调试信息的内置程序包是(D)

ADBMS_STANDARDBDBMS_ALERTCDBMS_LOBDDBMS_OUTPUT

39.在Oracle中,下列(B)语句不能用于控制游标。

AOpenBCreateCFetchDClose

40.在Oracle中有表”cd”,它包含属性”cdcode”,”category”

和”cdname,要查询category取值为”CLASSIC或”ROCK的行,应采用语句(AD)。

*

ASELECT*FROMcdWHEREcategoryIN(‘CLASEIC','ROCK');

BSELECT*FROMcdWHEREcategoryBETWEE‘NCLASSIC'AND‘ROC'K;

CSELECT*FROMcdWHEREcategory=CLASSICANDcategory='ROCK;DSELECT*FROMcdWHEREcategory=CLASSICORcategory='ROCK;

41.在Oracle中,在执行SQL语句时,你不小心使用Update命令将所有的ID值设置成了11111,那么使用(C)命令可以取消这一操作。

AEXITBCOMMITCROLLBACKDUNDO

42.在Oracle中,使用了如下的语句创建用户TOM则对于该用户而言,以下说法错误的是(D)。

CREATEUSERTOMIDENTIFIEDBYTOMSYS;

A该用户的口令为TOMSYSBTOM默认为表空间为SYSTEM

CTOM的临时表空间为TEMPD使ORANTUPDAT命令可以修改TOM的口令

43.游标变量的类型是(B)

CREF游标D循环游标

A隐式游标B显示游标

44.使用(B)命令可查看在创建触发器时发生的编译错误

AViewerrorsBShowerrorsCDisplayerrorsDCheckerrors

45.(A)触发器允许触发操作的语句访问行的列值

A行级:

old:

newB语句级C模式D数据库级

46.Oracle内置程序包由(A)用户所有

AsysBsystemCscottDPublic

47.数据完整性实质,存储在数据库中的数据正确无误并且相关数据具有一致性,

根据完整性机制所作用的数据库对象和范围不同,可以分为:

(B),(A),

(C),(D),其中外键可以实现(C)。

主键可以实现(A)。

A实体完整性B域完整性C参照完整性D自定义完整性

48.在数据库的表中,(A)是指表中的某一列(或某些列),该列的值唯一标识一行。

A主键B外键C唯一键D次键

49.在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是

(D);若要创建一个表,应该使用的语句是(B)。

AalterdatabaseBcreatetableCcreatedatabaseDaltertable

50.在以下(B)情况下使用主键约束而不使用唯一约束:

A列的值允许为空值B列有外键引用C列的值不允许为空值D以上

都不对

、编写SQL语句(总分12分,每题3分)6

1.创建一张学生表,包含以下信息:

学号,姓名,年龄,性别,学历,联系电话。

CREATETABLESTUDENT(

STUNOVARCHAR2(10)PRIMARYKEY,

NAMEVARCHAR2(20)NOTNULL,

AGENUMBERNOTNULL,

SEXCHAR(10),

EDUVARCHAR2(20)NOTNULL,

IPHONENUMBER(11)NOTNULL

);

A22男123456小学2B21

119

中学

3C23男110高中4D18

114

大学

INSERTINTOSTUDENTVLAUSE(1'A,22,'男’

123456,'小学');

INSERTINTOSTUDENTVLAUSE(2'B',21,'男’

119,

'中学'

);

INSERTINYOSTUDENTVLAUSE(3'C,23,'男’

110,

'高中’

);

INSERTINTOSTUDENTVLAUSE(4'D',18,'女'

114,

'大学'

);

2.向学生表添加如下信息:

1

3.修改学生表的数据,将电话号码以11开头的学员的学历改为“大专

Updatestusetdegree='大专’wherephonelike'11%

4.删除学生表的数据,姓名以C开头,性别为’男’的记录删除

Deletefromstuwherenamelike

三、编写SQL语句(总分30分,每题5分)20

有一个“学生-课程”数据库,数据库中包括三个表:

(1)“学生”表Student由学号(Sno)、姓名(Snam©、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成。

可记为:

Student(Sno,Sname,Ssex,Sage,Sdept)Sno为关键字。

(2)“课程”表Course由课程号(Cnc)、课程名(Cname、选修课号(Cpnc)、学分(Ccredit)四个属性组成。

可记为:

Course(Cno,Cname,Cpno,Ccredit)Cno为关键字。

(3)“学生选课”表SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成。

可记为:

SC(Sno,Cno,Grade)(SNO,CNO)为关键字。

完成下列操作:

1.在以上三个表中查询Ccredit为5并且Grade大于60的学生的学号、姓名和性别

selectstudent.Sno,Sname,Ssexfromstudent,course,scwhere

(student.Sno=sc.Sno)and(course.Cno=sc.Cno)and(course.Ccredit=5)and

(sc.Grade>60)

答案:

selects.sno,s.sname,s.ssexfromstudents,coursec,scsc

wheres.sno=sc.snoando=sc.cnoandc.ccredit=5andsc.grade>60

2查询出“C语言”课程成绩前5名的学生的学号、姓名和所在系(含并列情况)。

Selecttop5Sno,Sname,Ssex,GradefromstudentjoinSCC语言onCno

=SnoorderbyGradedesc

答案selecta.sno,a.sname,a.sdept,a.grade,rownumas排名

from(selects.snoassno,s.snameassname,s.sdeptas

dept,sc.gradeasgradefromstudents,course

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

当前位置:首页 > 高中教育 > 语文

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

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