Oracle 面试题库 PLSQL

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

题目内容:1PL/SQL代表APROCEDURALLANGUAGE/SQLBPROGRAMLANGUAGESQLCPOWERLANGUAGESQLD都不对2_____引擎执行PL/SQL块ASQLBPL/SQLCORACLED都不对3一个对象可以呈现多种形式的能力称为A多态B继承C封装D以上都不对4PLSQL块是由哪几个部分组成ADECLAREBEGINENDBBEGINENDCEXCEPTIONBEGINENDDDECLAREBEGINEXCEPTIONEND5看下面代码,正确的是ADECLAREDBMS_OUTPUT.PUT_LINE(’定义部分’);BEGINDBMS_OUTPUT.PUT_LINE(’语句部分’);END;BBEGINNUMNUMBER:=100;DBMS_OUTPUT.PUT_LINE(’NUM的值为:’||NUM);END;CDECLARENUMNUMBER:=100;BEGINNUM:=NUM+NUM/2;DBMS_OUTPUT.PUT_LINE(’NUM的值为:’||NUM);END;DBEGINNUMNUMBER:=100;DECLARENUM:=NUM+NUM/2;DBMS_OUTPUT.PUT_LINE(’NUM的值为:’||NUM);END;6看下面语句正确的是AIF(N%M=0)THENDBMS_OUTPUT.PUT_LINE(’这是一个偶数’);ELSEIF(N%M=1)THENDBMS_OUTPUT.PUT_LINE(’这是一个奇数’);ENDIF;BDECLAREVARNUMBER:=0;BEGINVAR:=&V;CASEWHENVAR=1THENDBMS_OUTPUT.PUT_LINE(’A');WHENVAR=2THENDBMS_OUTPUT.PUT_LINE(’B');ELSEDBMS_OUTPUT.PUT_LINE(’O');ENDCASE;END;CDECLAREINUMBER:=0;BEGINFORIIN10..20LOOPDBMS_OUTPUT.PUT_LINE(I);ENDLOOP;END;DLOOPDBMS_OUTPUT.PUT_LINE(I);ENDLOOP;7.当在一个PLSQL块中通过查询得到一个值,但是没有任何值返回时,会产生异常吗?如果产生,是什么异常?A不会有异常,只不过没有结果而已B有异常,异常为No_data_foundC有异常,异常为Value_erroD编译都不通过8.在PLSQL块中处理异常的语句是AEXCEPTIONIFEXCEPTION_NAMETHENDBMS_OUTPUT.PUT_LINE();END;BEXCEPTIONWHENEXCEPTION_NAMETHENDBMS_OUTPUT.PUT_LINE();ENDEXCEPTION;CWHENEXCEPTION_NAMETHENDBMS_OUTPUT.PUT_LINE();DBEGINNULL;EXCEPTIONWHENEXCEPTION_NAMETHENDBMS_OUTPUT.PUT_LINE();END;9.当用户在PLSQL块中,像抛出自定义异常或者是系统异常时,所使用的关键字是ATHROWBRAISECRAISE_APPLICATION_ERRORDEXCEPTION10.在自定义异常中,用户可用的错误号范围在A20000~29999B-20000~-20999C1~65535D没有限制11.阅读代码DECLAREBEGINDBMS_OUTPUT.PUT_LINE(’外不快’);DECLAREMYEXCEEXCEPTION;BEGINRAISEMYEXCE;END;EXCEPTIONWHENMYEXCETHENDBMS_OUTPUT.PUT_LINE(’异常捕获’);END;出现的结果是A编译时报错PLS-00201:必须说明标识符‘MYEXCE’B运行时报错,在外部无法捕获到内部异常C可以正常执行D编译时报错,PLSQL块不能嵌套12.使用游标的步骤,有哪几步A打开游标、使用游标、关闭游标B定义游标、打开游标、使用游标、关闭游标C定义游标、使用游标、关闭游标D定义游标、打开游标、使用游标、13游标有哪几种类型A静态游标、动态游标B隐式游标、显示游标C变量游标、常量游标D参数游标、ref游标14阅读下列代码DECLARETOTALEMPNUMBER;BEGINSELECTCOUNT(*)INTOTOTALEMPFROMEMP;IF(SQL%FOUND)THENDBMS_OUTPUT.PUT_LINE(’有数据’);ENDIF;END;这段代码中是否使用了游标,如果使用了,使用的是什么类型的游标A使用了游标,游标类型为参数游标B使用了游标,游标类型为式游标C使用了游标,游标类型为ref游标D这段代码中根本没有使用到游标15.下列哪个游标的定义是正确的ATYPECURSOREMPCURISSELECT*FROMEMP;BTYPEEMPCURISCURSOROFSELECT*FROMEMP;;CCURSOREMPCURISSELECT*FROMEMP;DTYPEEMPCURISREFCURSORASSELECT*FROMEMP;16在存储过程中,参数模式有哪几种AIN、OUTBIN、OUT、INOUTCINPUT、OUTPUTDOUTINOUT17关于存储过程返回值的类型,说法对的是A只能是基本类型B可以是任何类型C只能是NUMBERVARCHAR2DATEBOOLEAND可以使基本类型和用户类型18存储过程和函数的区别是A过程可以返回多个值,而函数只能返回一个值B函数可以作为PLSQL表达式的一部分,而过程不能C函数可以返回多个值,过程只能返回一个D函数和过程都必须包含RETURN语句19过程和函数的重载,正确的是AOracle中过程和函数不能重载BOracle中的过程和函数只有在包中存在时,才能被重载COracle中的过程和函数随时随地都可以被重载D函数可以重载,过程不能被重载20Oracle中程序包的特点是A可以写函数和过程B任何能够定义在声明部分的内容,都可以出现在包中,包就是用来对代码进行封装的C包是一个可选结构,其中只能定义函数和过程D定义在包中的过程和函数不能被外部代码所访问21下面关于保的说法错误的是A有包头,就必须有包体B包可分为包头和包体两部分,但包体不是必须的C如果只用函数和过程,则可以只有包体,没有包头D包可以继承22阅读代码,函数被正确重载是ACREATEORREPLACEPACKAGETESTPACKAGEASFUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2OUTVARCHAR2)RETURNBOOLEAN;FUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2INOUTVARCHAR2)RETURNBOOLEAN;ENDTESTPACKAGE;BCREATEORREPLACEPACKAGETESTPACKAGEASFUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2OUTVARCHAR2);RETURNBOOLEAN;FUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM3OUTVARCHAR2);RETURNVARCHAR2;ENDTESTPACKAGE;CCREATEORREPLACEPACKAGETESTPACKAGEASFUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2OUTVARCHAR2);RETURNBOOLEANFUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2OUTNUMBER);RETURNOBJECTENDTESTPACKAGE;DCREATEORREPLACEPACKAGETESTPACKAGEASFUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2OUTVARCHAR2);RETURNBOOLEANFUNCTIONPROCEDURE_NAME(PARAM1INNUMBER,PARAM2OUTCHAR);RETURNOBJECTENDTESTPACKAGE;23触发器有哪些级别A行级触发器和字段级触发器B行级触发器C语句及触发器D行级触发器和语句及触发器26触发器有哪些种类ABEFORE和AFTERBBEFORE和BEFOREROWCAFTER和AFTERSTATEMENTDFOREACHROW和FOREACHSTATEMENT27触发器的执行过程是A行前(多次)、语句前(多次)、行后(多次)、语句后(一次)B语句前(一次)、行前(多次)、字段有效验证、行后(多次)、语句后(一次)C语句前(一次)、语句后(一次)、行前(多次)、行后(多次)D行前(多次)、行后(多次)、语句前(一次)、语句后(一次)28触发器的动作有哪几个AINSERT、UPDATE、DELETEBINSERT、ALTER、DROPCUPDATE、CREATEDREMOVE、INSERT、DELETE29看代码CREATEORREPLACETRIGGERSTUDENTUPDATEINFOAFTERINSERTORUPDATEORDELETEONSTUDENTFOREACHROWWHEN(NEW.STUIDISNOTNULLOROLD.STUIDISNOTNULL)BEGINCASEWHENINSERTINGTHENDBMS_OUTPUT.PUT_LINE(:NEW.STUNAME);DBMS_OUTPUT.PUT_LINE(:OLD.STUNAME);DBMS_OUTPUT.NEW_LINE();DBMS_OUTPUT.PUT_LINE(’STUDENT表增加一条信息!!!’);WHENUPDATINGTHENDBMS_OUTPUT.PUT_LINE(:NEW.STUNAME);DBMS_OUTPUT.PUT_LINE(:OLD.STUNAME);DBMS_OUTPUT.NEW_LINE();DBMS_OUTPUT.PUT_LINE(’STUDENT表更新一条信息!!!’);ELSEDBMS_OUTPUT.PUT_LINE(:NEW.STUNAME);DBMS_OUTPUT.PUT_LINE(:OLD.STUNAME);DBMS_OUTPUT.NEW_LINE();DBMS_OUTPUT.PUT_LINE(’STUDENT表删除一条信息!!!’);ENDCASE;END;当执行了以下命令后INSERTINTOSTUDENTVALUES(’STU0010′,’TOM’,'TB007′,’JAVA’);UPDATESETCALSSNAME=’ORACLE’WHERESTUID=’STU0010′;DELETESTUDENTWHERESTUID=’STU0010′输出结果为:AINSERT后输出:TOMTOMSTUDENT表增加一条信息!!!UPDATE后输出:TOMTOMSTUDENT表更新一条信息!!DELETE后输出:TOMTOMSTUDENT表删除一条信息!!!BINSERT后输出:TOMSTUDENT表增加一条信息!!!UPDATE后输出:TOMTOMSTUDENT表更新一条信息!!DELETE后输出:TOMSTUDENT表删除一条信息!!!CINSERT后输出:TOMTOMSTUDENT表增加一条信息!!!UPDATE后输出:TOMSTUDENT表更新一条信息!!!DELETE后输出:TOMSTUDENT表删除一条信息!!!DINSERT后输出:TOMSTUDENT表增加一条信息!!!UPDATE后输出:TOMTOMSTUDENT表更新一条信息!!DELETE后输出:STUDENT表删除一条信息!!!1PL/SQL代表APROCEDURALLANGUAGE/SQLBPROGRAMLAN

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功