当前位置:文档之家› Oracle面试题库_3

Oracle面试题库_3

Oracle面试题库END LOOP;7. 当在一个PLSQL块中通过查询得到一个值,但是没有任何值返回时,会产生异常吗?如果产生,是什么异常?A 不会有异常,只不过没有结果而已B 有异常,异常为No_data_foundC 有异常,异常为Value_erroD 编译都不通过8. 在PLSQL块中处理异常的语句是 A EXCEPTIONIF EXCEPTION_NAME THENDBMS_OUTPUT.PUT_LINE();END;B EXCEPTIONWHEN EXCEPTION_NAME THENDBMS_OUTPUT.PUT_LINE();END EXCEPTION ;C WHEN EXCEPTION_NAME THENDBMS_OUTPUT.PUT_LINE();DBEGINNULL;EXCEPTIONWHEN EXCEPTION_NAME THENDBMS_OUTPUT.PUT_LINE();END ;9. 当用户在PLSQL块中,像抛出自定义异常或者是系统异常时,所使用的关键字是 A THROWB RAISEC RAISE_APPLICATION_ERRORD EXCEPTION10. 在自定义异常中,用户可用的错误号范围在A 20000 ~ 29999B -20000 ~ -20999C 1~65535D 没有限制11. 阅读代码DECLAREBEGINDBMS_OUTPUT.PUT_LINE(‘外不快’);DECLAREMYEXCE EXCEPTION;BEGINRAISE MYEXCE;END;EXCEPTIONWHEN MYEXCE THENDBMS_OUTPUT.PUT_LINE(‘异常捕获’);END;出现的结果是A 编译时报错PLS-00201: 必须说明标识符‘MYEXCE’B 运行时报错,在外部无法捕获到内部异常C 可以正常执行D 编译时报错,PLSQL块不能嵌套12. 使用游标的步骤,有哪几步A 打开游标、使用游标、关闭游标B 定义游标、打开游标、使用游标、关闭游标C 定义游标、使用游标、关闭游标D 定义游标、打开游标、使用游标、13 游标有哪几种类型A 静态游标、动态游标B 隐式游标、显示游标C 变量游标、常量游标D 参数游标、ref 游标14 阅读下列代码DECLARETOTALEMP NUMBER;BEGINSELECT COUNT(*) INTO TOTALEMP FROM EMP;IF(SQL%FOUND) THENDBMS_OUTPUT.PUT_LINE(‘有数据’);END IF;END;这段代码中是否使用了游标,如果使用了,使用的是什么类型的游标A 使用了游标,游标类型为参数游标B 使用了游标,游标类型为式游标C 使用了游标,游标类型为ref 游标D 这段代码中根本没有使用到游标15. 下列哪个游标的定义是正确的A TYPE CURSOR EMPCUR IS SELECT * FROM EMP;B TYPE EMPCUR IS CURSOR OF SELECT * FROM EMP;;C CURSOR EMPCUR IS SELECT * FROM EMP;D TYPE EMPCUR IS REF CURSOR AS SELECT * FROM EMP;16 在存储过程中,参数模式有哪几种A IN、OUTB IN、OUT、IN OUTC INPUT、OUTPUTD OUT INOUT17 关于存储过程返回值的类型,说法对的是A 只能是基本类型B 可以是任何类型C 只能是NUMBER VARCHAR2 DATE BOOLEAND 可以使基本类型和用户类型18 存储过程和函数的区别是A 过程可以返回多个值,而函数只能返回一个值B 函数可以作为PLSQL表达式的一部分,而过程不能C 函数可以返回多个值,过程只能返回一个D 函数和过程都必须包含RETURN语句19 过程和函数的重载,正确的是A Oracle中过程和函数不能重载B Oracle中的过程和函数只有在包中存在时,才能被重载C Oracle中的过程和函数随时随地都可以被重载D 函数可以重载,过程不能被重载20 Oracle中程序包的特点是A 可以写函数和过程B 任何能够定义在声明部分的内容,都可以出现在包中,包就是用来对代码进行封装的C 包是一个可选结构,其中只能定义函数和过程D 定义在包中的过程和函数不能被外部代码所访问21 下面关于保的说法错误的是A 有包头,就必须有包体B 包可分为包头和包体两部分,但包体不是必须的C 如果只用函数和过程,则可以只有包体,没有包头D 包可以继承22 阅读代码,函数被正确重载是 A CREATE OR REPLACE PACKAGE TESTPACKAGE ASFUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT VARCHAR2)RETURN BOOLEAN;FUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 IN OUT VARCHAR2)RETURN BOOLEAN;END TESTPACKAGE;B CREATE OR REPLACE PACKAGE TESTPACKAGE ASFUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT VARCHAR2);RETURN BOOLEAN;FUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM3 OUTVARCHAR2);RETURN VARCHAR2;END TESTPACKAGE;C CREATE OR REPLACE PACKAGE TESTPACKAGE ASFUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT VARCHAR2);RETURN BOOLEANFUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT NUMBER);RETURN OBJECTEND TESTPACKAGE;D CREATE OR REPLACE PACKAGE TESTPACKAGE ASFUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT VARCHAR2);RETURN BOOLEANFUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT CHAR);RETURN OBJECTEND TESTPACKAGE;23 触发器有哪些级别A 行级触发器和字段级触发器B 行级触发器C 语句及触发器D 行级触发器和语句及触发器26 触发器有哪些种类A BEFORE和AFTERB BEFORE 和BEFORE ROWC AFTER 和AFTER STATEMENTD FOR EACH ROW和FOR EACH STATEMENT27 触发器的执行过程是A 行前(多次)、语句前(多次)、行后(多次)、语句后(一次)B 语句前(一次)、行前(多次)、字段有效验证、行后(多次)、语句后(一次)C语句前(一次)、语句后(一次)、行前(多次)、行后(多次)D 行前(多次)、行后(多次)、语句前(一次)、语句后(一次)28 触发器的动作有哪几个A INSERT、UPDATE、DELETEB INSERT、ALTER、DROPC UPDATE、CREATED REMOVE、INSERT、DELETE29 看代码CREATE OR REPLACE TRIGGER STUDENTUPDATEINFOAFTERINSERT OR UPDATE OR DELETE ON STUDENTFOR EACH ROWWHEN (NEW.STUID IS NOT NULL OR OLD.STUID IS NOT NULL)BEGINCASEWHEN INSERTING THENDBMS_OUTPUT.PUT_LINE(:NEW.STUNAME);DBMS_OUTP UT.PUT_LINE(:OLD.STUNAME);DBMS_OUTPUT.NEW_LINE();DB MS_OUTPUT.PUT_LINE(‘STUDENT表增加一条信息!!!’);WHEN UPDATINGTHENDBMS_OUTPUT.PUT_LINE(:NEW.STUNAME);DBMS_OUTP UT.PUT_LINE(:OLD.STUNAME);DBMS_OUTPUT.NEW_LINE();DB MS_OUTPUT.PUT_LINE(‘STUDENT表更新一条信息!!!’);ELSEDBMS_OUTPUT.PUT_LINE(:NEW.STUNAME);DBMS _OUTPUT.PUT_LINE(:OLD.STUNAME);DBMS_OUTPUT.NEW_LIN E();DBMS_OUTPUT.PUT_LINE(‘STUDENT表删除一条信息!!!’);END CASE;END;当执行了以下命令后INSERT INTO STUDENT VALUES(‘STU0010′,’TOM’,TB007′,’JAVA’);UPDATE SET CALSSNAME=’ORACLE’WHERE STUID=’STU0010′;DELETE STUDENT WHERE STUID=’STU0010′输出结果为:A INSERT后输出: TOM TOM STUDENT表增加一条信息!!!UPDATE后输出: TOM TOM STUDENT表更新一条信息!!DELETE后输出: TOM TOM STUDENT表删除一条信息!!!B INSERT后输出: TOM STUDENT表增加一条信息!!!UPDATE后输出: TOM TOM STUDENT表更新一条信息!!DELETE后输出: TOMSTUDENT表删除一条信息!!!C INSERT后输出: TOM TOM STUDENT表增加一条信息!!!UPDATE后输出: TOM STUDENT表更新一条信息!!!DELETE后输出: TOM STUDENT表删除一条信息!!!D INSERT后输出: TOM STUDENT表增加一条信息!!!UPDATE后输出: TOM TOM STUDENT表更新一条信息!!DELETE后输出: STUDENT 表删除一条信息!!!。

相关主题