面试题库范文_第1页
面试题库范文_第2页
面试题库范文_第3页
面试题库范文_第4页
面试题库范文_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1PL/SQL代表

APROCEDURALLANGUAGE/SQL

BPROGRAMLANGUAGESQL

CPOWERLANGUAGESQL

D都不对

2引擎执行PL/SQL块

ASQL

BPL/SQL

CORACLE

D都不对

3一个对象可以呈现多种形式的能力称为

A多态

B继承

C封装

D以上都不对

4PLSQL块是由哪几个部分组成

ADECLAREBEGINEND

BBEGINEND

CEXCEPTIONBEGINEND

DDECLAREBEGINEXCEPTIONEND

5看下面代码,正确的是

ADECLARE

DBMS_OUTPUT.PUT_LINE(,定义部分);

BEGIN

DBMS_OUTPUT.PUT_UNE(,语句部分);

END;

BBEGIN

NUMNUMBER:=100;

DBMS_OUTPUT.PUT_LINE('NUM的值为:'||NUM);

END;

CDECLARE

NUMNUMBER:=100;

BEGIN

NUM:=NUM+NUM/2;

DBMS_OUTPUT.PUT_LINE(4NUM的值为:1|NUM);

END;

DBEGIN

NUMNUMBER:=100;

DECLARE

NUM:=NUM+NUM/2;

DBMS_OUTPUT.PUT_LINE(,NUM的值为:'||NUM);

END;

6看下面语句正确的是

AIF(N%M=O)THEN

DBMS_OUTPUT.PUT_LINE(,这是一个偶数);

ELSEIF(N%M=1)THEN

DBMSJDUTPUT.PUTJJNEC这是一个奇数);

ENDIF;

BDECLARE

VARNUMBER:=O;

BEGIN

VAR:=&V;

CASE

WHENVAR=1THEN

DBMS_OUTPUT.PUT_LINE(tA));

WHENVAR=2THEN

DBMS_OUTPUT.PUT_LINE(,B,);

ELSE

DBMS_0UTPUT.PUT_LINE(O);

ENDCASE;

END;

CDECLARE

INUMBER:=O;

BEGIN

FORIIN10..20LOOP

DBMS_OUTPUT.PUT_LINE(I);

ENDLOOP;

END;

DLOOP

DBMS_OUTPUT.PUT_LINE(I);

ENDLOOP;

7.当在一个PLSQL块中通过查询得到一个值,但是没有任何值返回时,会产生异常吗?如果产生,是什

么异常?

A不会有异常,只不过没有结果而已

B有异常,异常为No_data_found

0有异常,异常为Value_eiro

D编译都不通过

8.在PLSQL块中处理异常的语句是

AEXCEPTION

IFEXCEPTION_NAMETHEN

DBMS_OUTPUT.PUT_LINE();

END;

BEXCEPTION

WHENEXCEPTION_NAMETHEN

DBMS_OUTPUT.PUT_LINE();

ENDEXCEPTION;

CWHENEXCEPTION_NAMETHEN

DBMS_OUTPUT.PUT_LINE();

DBEGIN

NULL;

EXCEPTION

WHENEXCEPTION_NAMETHEN

DBMS_OUTPUT.PUT_LINE();

END;

9.当用户在PLSQL块中,像抛出自定义异常或者是系统异常时,所使用的关键字是

ATHROW

BRAISE

CRAISE_APPLICATION_ERROR

DEXCEPTION

10.在自定义异常中,用户可用的错误号范围在

A20000~29999

B-20000~-20999

C1-65535

D没有限制

11.阅读代码

DECLARE

BEGIN

DBMS_OUTPUT.PUT_LINEC外不快);

DECLARE

MYEXCEEXCEPTION;

BEGIN

RAISEMYEXCE;

END;

EXCEPTION

WHENMYEXCETHEN

DBMS_OUTPUT.PUT_LINEC异常捕获);

END;

出现的结果是

A编译时报错PLS-00201:必须说明标识符'MYEXCE)

B运行时报错,在外部无法捕获到内部异常

C可以正常执行

D编译时报错,PLSQL块不能嵌套

12.使用游标的步骤,有哪几步

A打开游标、使用游标、关闭游标

B定义游标、打开游标、使用游标、关闭游标

C定义游标、使用游标、关闭游标

D定义游标、打开游标、使用游标、

13游标有哪几种类型

A静态游标、动态游标

B隐式游标、显示游标

C变量游标、常量游标

D参数游标、ref游标

14阅读下列代码

DECLARE

TOTALEMPNUMBER;

BEGIN

SELECTCOUNT(*)INTOTOTALEMPFROMEMP;

IF(SQL%FOUND)THEN

DBMSJDUTPUT.PUTJJNEC有数据,);

ENDIF;

END;

这段代码中是否使用了游标,如果使用了,使用的是什么类型的游标

A使用了游标,游标类型为参数游标

B使用了游标,游标类型为式游标

C使用了游标,游标类型为ref游标

D这段代码中根本没有使用到游标

15.下列哪个游标的定义是正确的

ATYPECURSOREMPCURISSELECT*FROMEMP;

BTYPEEMPCURISCURSOROFSELECT*FROMEMP;;

CCURSOREMPCURISSELECT*FROMEMP;

DTYPEEMPCURISREFCURSORASSELECT*FROMEMP;

16在存储过程中,参数模式有哪几种

AIN、OUT

BIN、OUT>INOUT

CINPUT、OUTPUT

DOUTINOUT

17关于存储过程返回值的类型,说法对的是

A只能是基本类型

B可以是任何类型

C只能是NUMBERVARCHAR2DATEBOOLEAN

D可以使基本类型和用户类型

18存储过程和函数的区别是

A过程可以返回多个值,而函数只能返回一个值

B函数可以作为PLSQL表达式的一部分,而过程不能

C函数可以返回多个值,过程只能返回一个

D函数和过程都必须包含RETURN语句

19过程和函数的重载,正确的是

AOracle中过程和函数不能重载

BOracle中的过程和函数只有在包中存在时,才能被重载

COracle中的过程和函数随时随地都可以被重载

D函数可以重载,过程不能被重载

20Oracle中程序包的特点是

A可以写函数和过程

B任何能够定义在声明部分的内容,都可以出现在包中,包就是用来对代码进行封装的

C包是一个可选结构,其中只能定义函数和过程

D定义在包中的过程和函数不能被外部代码所访问

21下面关于保的说法错误的是

A有包头,就必须有包体

B包可分为包头和包体两部分,但包体不是必须的

C如果只用函数和过程,则可以只有包体,没有包头

D包可以继承

22阅读代码,函数被正确重载是

ACREATEORREPLACEPACKAGETESTPACKAGEAS

FUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2OUTVARCHAR2)

RETURNBOOLEAN;

FUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2INOUTVARCHAR2)

RETURNBOOLEAN;

ENDTESTPACKAGE;

BCREATEORREPLACEPACKAGETESTPACKAGEAS

FUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2OUTVARCHAR2);

RETURNBOOLEAN;

FUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM3OUTVARCHAR2);

RETURNVARCHAR2;

ENDTESTPACKAGE;

CCREATEORREPLACEPACKAGETESTPACKAGEAS

FUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2OUTVARCHAR2);

RETURNBOOLEAN

FUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2OUTNUMBER);

RETURNOBJECT

ENDTESTPACKAGE;

DCREATEORREPLACEPACKAGETESTPACKAGEAS

FUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2OUTVARCHAR2);

RETURNBOOLEAN

FUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2OUTCHAR);

RETURNOBJECT

ENDTESTPACKAGE;

23触发器有哪些级别

A行级触发器和字段级触发器

B行级触发器

C语句及触发器

D行级触发器和语句及触发器

26触发器有哪些种类

ABEFORE和AFTER

BBEFORE和BEFOREROW

CAFTER和AFTERSTATEMENT

DFOREACHROW和FOREACHSTATEMENT

27触发器的执行过程是

A行前(多次)、语句前(多次)、行后(多次)、语句后(一次)

B语句前(一次)、行前(多次)、字段有效验证、行后(多次)、语句后(一次)

C语句前(一次)、语句后(一次)、行前(多次)、行后(多次)

D行前(多次)、行后(多次)、语句前(一次)、语句后(一次)

28触发器的动作有哪几个

AINSERT、UPDATE、DELETE

BINSERT、ALTER、DROP

CUPDATE、CREATE

DREMOVE、INSERT、DELETE

29看代码

CREATEORREPLACETRIGGERSTUDENTUPDATEINFO

AFTERINSERTORUPDATEORDELETEONSTUDENT

FOREACHROW

WHEN(NEW.STUIDISNOTNULLOROLD.STUIDISNOTNULL)

BEGIN

CASE

WHENINSERTINGTHEN

DBMS_OUTPUT.PUT_LINE(:NEW.STUNAME);

DBMS_OUTPUT.PUT_LINE(:OLD.STUNAME);

DBMS_OUTPUT.NEW_LINE();

DBMS_OUTPUT.PUT_LINE('STUDENT表增力口一条信息!!!');

WHENUPDATINGTHEN

DBMS_OUTPUT.PUT_LINE(:NEW.STUNAME);

DBMS_OUTPUT.PUT_LINE(:OLD.STUNAME);

DBMS_OUTPUT.NEW_LINE();

DBMS_OUTPUT.PUT_LINE(4STUDENT表更新一条信息!!!');

ELSE

DBMS_OUTPUT.PUT_LINE(:NEW.STUNAME);

DBMS_OUTPUT.PUT_LINE(:OLD.STUNAME);

DBMS_OUTPUT.NEW_LINE();

DBMS_OUTPUT.PUT_LINE(,STUDENT表册U除一条信息!!!');

ENDCASE;

END;

当执行了以下命令后

INSERTINTOSTUDENTVALUES(,STU00107TOM),,TB0077JAVA');

UPDATESETCALSSNAME=,ORACLE,WHERESTUID=,STU0010,;

DELETESTUDENTWHERESTUID='STU0010'

输出结果为:

AINSERT后输出:TOMTOMSTUDENT表增加一条信息山

UPDATE后输出:TOMTOMSTUDENT表更新一条信息!!

DELETE后输出:TOMTOMSTUDENT表删除一条信息!!!

BINSERT后输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论