END LOOP;7. 当在一个PLSQL块中通过查询得到一个值,但是没有任何值返回时,会产生异常吗?如果产生,是什么异常?A 不会有异常,只不过没有结果而已B 有异常,异常为No_data_foundC 有异常,异常为Value_erroD 编译都不通过8. 在PLSQL块中处理异常的语句是
A EXCEPTIONIF EXCEPTION_NAME
EXCEPTIONWHEN
THENDBMS_OUTPUT.PUT_LINE();END;B EXCEPTION_NAME EXCEPTION
;C
THENDBMS_OUTPUT.PUT_LINE();END
WHEN
EXCEPTION_NAME
THENDBMS_OUTPUT.PUT_LINE();D BEGINNULL;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
MYEXCE;END;EXCEPTIONWHEN
THENDBMS_OUTPUT.PUT_LINE(‘异常捕获’);END;出现的结果是
1
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 过程可以返回多个值,而函数
2
只能返回一个值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 NUMBER,PARAM2 BOOLEAN;FUNCTION NUMBER,PARAM2 BOOLEAN;END PACKAGE
PROCEDURE_NAME(PARAM1
OUT
IN
VARCHAR2)RETURN
IN
PROCEDURE_NAME(PARAM1 IN
OUT
VARCHAR2)RETURN
OR
REPLACE
TESTPACKAGE;B
TESTPACKAGE
CREATE
ASFUNCTION
PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT VARCHAR2);RETURN
BOOLEAN;FUNCTION
PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM3 OUT
3
VARCHAR2);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 STUDENTUPDATEINFOAFTER
4
INSERT 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_OUTPUT.PUT_LINE(:OLD.STUNAME);DBMS_OUTPUT.NEW_LINE();DBMS_OUTPUT.PUT_LINE(‘STUDENT表增加一条信息!!!’);WHEN UPDATING
THENDBMS_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表删除一条信息!!!’);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后输出: TOM
5
STUDENT表删除一条信息!!!C INSERT后输出: TOM TOM STUDENT表增加一条信息!!!UPDATE后输出: TOM STUDENT表更新一条信息!!!DELETE后输出: TOM STUDENT表删除一条信息!!!D INSERT后输出: TOM STUDENT表增加一条信息!!!UPDATE后输出: TOM TOM STUDENT表更新一条信息!!DELETE后输出: STUDENT表删除一条信息!!!
6
因篇幅问题不能全部显示,请点此查看更多更全内容