`
ztfjava
  • 浏览: 72674 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle面试题PL/SQL

阅读更多
1 PL/SQL代表

A  PROCEDURAL LANGUAGE/SQL

B  PROGRAM LANGUAGE SQL

C  POWER LANGUAGE SQL

D  都不对

2 _____引擎执行PL/SQL块

A  SQL

B  PL/SQL

C  ORACLE

D  都不对

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

A  多态

B  继承

C  封装

D  以上都不对

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

A  DECLARE  BEGIN  END

B  BEGIN  END

C  EXCEPTION BEGIN  END

D  DECLARE BEGIN EXCEPTION  END

5 看下面代码,正确的是

A  DECLARE

DBMS_OUTPUT.PUT_LINE(’定义部分’);

BEGIN

DBMS_OUTPUT.PUT_LINE(’语句部分’);

END;

B  BEGIN

NUM NUMBER:=100;

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

END;

C  DECLARE

NUM NUMBER:=100;

BEGIN

NUM:=NUM+NUM/2;

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

END;

D  BEGIN

NUM NUMBER:=100;

DECLARE

NUM:=NUM+NUM/2;

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

END;

6 看下面语句正确的是

A  IF(N%M=0) THEN

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

ELSEIF(N%M=1) THEN

DBMS_OUTPUT.PUT_LINE(’这是一个奇数’);

END IF;

B DECLARE

VAR NUMBER:=0;

BEGIN

VAR:=&V;

CASE

WHEN VAR=1 THEN

DBMS_OUTPUT.PUT_LINE(’A');

WHEN VAR=2 THEN

DBMS_OUTPUT.PUT_LINE(’B');

ELSE

DBMS_OUTPUT.PUT_LINE(’O');

END CASE;

END;

C  DECLARE

I NUMBER:=0;

BEGIN

FOR I IN 10..20 LOOP

DBMS_OUTPUT.PUT_LINE(I);

END LOOP;

END;

D  LOOP

DBMS_OUTPUT.PUT_LINE(I);

END LOOP;

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

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

B  有异常,异常为No_data_found

C  有异常,异常为Value_erro

D  编译都不通过

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

A  EXCEPTION

IF EXCEPTION_NAME THEN

DBMS_OUTPUT.PUT_LINE();

END;

B  EXCEPTION

WHEN EXCEPTION_NAME THEN

DBMS_OUTPUT.PUT_LINE();

END EXCEPTION ;

C  WHEN EXCEPTION_NAME THEN

DBMS_OUTPUT.PUT_LINE();

D  BEGIN

NULL;

EXCEPTION

WHEN EXCEPTION_NAME THEN

DBMS_OUTPUT.PUT_LINE();

END ;

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

A  THROW

B  RAISE

C  RAISE_APPLICATION_ERROR

D  EXCEPTION

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

A  20000 ~ 29999

B  -20000 ~ -20999

C  1~65535

D  没有限制

11. 阅读代码

DECLARE

BEGIN

DBMS_OUTPUT.PUT_LINE(’外不快’);

DECLARE

MYEXCE EXCEPTION;

BEGIN

RAISE MYEXCE;

END;

EXCEPTION

WHEN MYEXCE THEN

DBMS_OUTPUT.PUT_LINE(’异常捕获’);

END;

出现的结果是

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

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

C  可以正常执行

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

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

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

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

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

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

13 游标有哪几种类型

A  静态游标、动态游标

B  隐式游标、显示游标

C  变量游标、常量游标

D  参数游标、ref 游标

14 阅读下列代码

DECLARE

TOTALEMP NUMBER;

BEGIN

SELECT COUNT(*) INTO TOTALEMP FROM EMP;

IF(SQL%FOUND) THEN

DBMS_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、OUT

B  IN、OUT、IN OUT

C  INPUT、OUTPUT

D  OUT  INOUT

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

A  只能是基本类型

B  可以是任何类型

C  只能是 NUMBER VARCHAR2 DATE BOOLEAN

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

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 AS

FUNCTION 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 AS

FUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT VARCHAR2);

RETURN BOOLEAN;

FUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM3 OUT VARCHAR2);

RETURN VARCHAR2;

END TESTPACKAGE;

C  CREATE OR REPLACE PACKAGE TESTPACKAGE AS

FUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT VARCHAR2);

RETURN BOOLEAN

FUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT NUMBER);

RETURN OBJECT

END TESTPACKAGE;

D  CREATE OR REPLACE PACKAGE TESTPACKAGE AS

FUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT VARCHAR2);

RETURN BOOLEAN

FUNCTION PROCEDURE_NAME(PARAM1 IN NUMBER,PARAM2 OUT CHAR);

RETURN OBJECT

END TESTPACKAGE;

23 触发器有哪些级别

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

B 行级触发器

C 语句及触发器

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

26 触发器有哪些种类

A BEFORE和AFTER

B BEFORE 和BEFORE ROW

C AFTER 和AFTER STATEMENT

D FOR EACH ROW和FOR EACH STATEMENT

27 触发器的执行过程是

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

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

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

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

28 触发器的动作有哪几个

A INSERT、UPDATE、DELETE

B INSERT、ALTER、DROP

C UPDATE、CREATE

D REMOVE、INSERT、DELETE

29 看代码

CREATE OR REPLACE TRIGGER STUDENTUPDATEINFO

AFTER INSERT OR UPDATE OR DELETE ON STUDENT

FOR EACH ROW

WHEN (NEW.STUID IS NOT NULL OR OLD.STUID IS NOT NULL)

BEGIN

CASE

WHEN INSERTING THEN

DBMS_OUTPUT.PUT_LINE(:NEW.STUNAME);

DBMS_OUTPUT.PUT_LINE(:OLD.STUNAME);

DBMS_OUTPUT.NEW_LINE();

DBMS_OUTPUT.PUT_LINE(’STUDENT表增加一条信息!!!’);

WHEN UPDATING THEN

DBMS_OUTPUT.PUT_LINE(:NEW.STUNAME);

DBMS_OUTPUT.PUT_LINE(:OLD.STUNAME);

DBMS_OUTPUT.NEW_LINE();

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

ELSE

DBMS_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    STUDENT表删除一条信息!!!

C INSERT后输出: TOM    TOM    STUDENT表增加一条信息!!!

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

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

D INSERT后输出:        TOM    STUDENT表增加一条信息!!!

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

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

分享到:
评论

相关推荐

    ORACLE_PL-SQL超经典面试题

    【Oracle PL/SQL 面试题解析】 面试题一:报表中增加保险描述 此题主要考察对数据库联接(JOIN)操作的理解和应用。题目要求在Patient表和Insurance表之间进行联接,以获取每个病人ID对应的保险描述。Patient表...

    ORACLE PL-SQL超经典面试题

    以上是Oracle PL/SQL面试中可能会遇到的关键概念和操作,涵盖了数据库备份恢复、性能优化、数据存储结构、表管理、索引应用等多个方面。理解和掌握这些知识点对于成为一名合格的Oracle数据库管理员至关重要。

    2010版 - PL SQL 面试题

    标题 "2010版 - PL SQL 面试题" 提及的是针对Oracle数据库的PL/SQL编程语言的一系列面试问题,这对于准备DBA(数据库管理员)考试或求职面试的人员来说是至关重要的。PL/SQL是Oracle数据库的内置过程语言,结合了SQL...

    PL/sql 面试题

    ### PL/SQL 面试题解析 #### 题目1 **题目描述**: 根据以下表的数据,预测两个查询语句的结果。 **表格数据**: - `usertable` 表: - USERID: 1, USERNAME: user1 - USERID: 2, USERNAME: null - USERID: 3, ...

    Oracle PL SQL 开发人员试题(DBA)

    本资源是 Oracle PL/SQL 开发人员试题(DBA),涵盖了多个与 Oracle PL/SQL 相关的试题,旨在考察开发人员对 Oracle PL/SQL 的理解和应用能力。以下是对试题的详细解读和知识点总结: 题目 1 该题目考察了对子查询和...

    Oracle PL-SQL 中联模拟笔试题

    Oracle PL-SQL是一种强大的数据库编程语言,用于在Oracle数据库环境中创建和管理复杂的...记住,实践是检验理论的最好方式,通过这些模拟笔试题,你可以不断锻炼自己的技能,为真实的Oracle PL-SQL面试或工作做好准备。

    ORACLE PL-SQL经典面试题

    面试中,关于Oracle PL/SQL的经典问题通常涉及数据库架构、数据类型、异常处理、表关系、存储过程、备份恢复策略等多个方面。以下是对这些知识点的详细解释: 1. 实例与数据库的关系:实例是Oracle服务器的运行时...

    Oracle面试题

    - 脚本语言:Oracle使用PL-SQL,SQL Server使用T-SQL,两者语法和功能有区别。 - 在数据类型、数据库结构等方面也存在细微差别,如Oracle支持更多自定义类型和分区功能。 3. **Oracle的Function与Procedure**: ...

    ORACLE PL-SQL面试题

    这些面试题展示了对Oracle PL/SQL基本语法、高级特性和查询技巧的掌握,对于开发者来说,理解和熟练运用这些知识是至关重要的。在实际面试中,还可能涉及数据库设计、并发控制、存储过程编写和调试、数据库安全等...

    ORACLE 面试题PDF

    这份"ORACLE面试题PDF"很可能包含了关于Oracle数据库管理、SQL查询、存储结构、性能优化等多个方面的常见面试问题和解答,对于准备Oracle相关职位面试或者巩固数据库知识的人来说是非常有价值的资源。 PDF文件...

    oracle企业面试题集锦.pdf

    "Oracle企业面试题集锦.pdf" Oracle 企业面试题集锦旨在为应试者提供一个系统的 Oracle 面试题集锦,涵盖了 Oracle 的各种知识点,从宏观到微观,全面介绍了 Oracle 的特点、优点和使用方法。 一、Oracle 和 SQL ...

    oracle面试题集锦

    这些只是Oracle面试题的一部分,涵盖了数据库的基本概念、操作和优化策略。在面试中,面试者还需要深入理解数据库设计、性能监控、故障排查、安全策略等方面的知识,以便全面展示自己的技能和经验。

    plsql使用文档

    同时,"面试题"部分则可能涵盖常见的PL/SQL面试问题,如性能优化、并发控制、事务管理等,这对于求职者准备面试非常有帮助。 总之,PL/SQL是Oracle数据库开发的核心技能之一,理解和熟练使用PL/SQL不仅可以提升...

    2024 SQL面试题二

    根据给定文件的信息,我们可以提炼出以下关于Oracle PL/SQL编程的重要知识点: ### 1. PL/SQL 程序设计简介 - **背景**:SQL语言主要用于访问和操作数据库,但缺乏流程控制能力,因此不适合用于应用软件的开发。...

    oracle面试题(适合应届生)

    本文将深入探讨Oracle面试中可能遇到的重要知识点,帮助你充分准备,迎接挑战。 1. 数据库概念与架构 Oracle数据库是基于关系型数据模型的,它由多个组成部分构成,如表空间、数据文件、控制文件、重做日志文件等...

    Oracle数据库面试题及答案

    Oracle 数据库面试题及答案 Oracle 数据库是关系数据库管理系统的领导者,本文总结了常见的 Oracle 数据库面试题,旨在帮助尚在找工作的大蛱们。下面是详细的知识点解释: 1. 如何判断数据库的时区? 答案:SELECT...

    Oracle常见面试题

    以下是一些关于Oracle常见面试题的知识点,这些知识点对于理解Oracle数据库的核心概念、功能和最佳实践至关重要。 1. **Oracle数据库版本与组件**:了解Oracle的不同版本(如Standard Edition、Enterprise Edition...

    Oracle企业面试题集锦

    以上就是从提供的信息中总结出的Oracle企业面试题集锦中的核心知识点,涵盖了Oracle与SQL Server的区别、Oracle特性、数据库管理、性能优化等多个方面。这些知识点对于深入理解和掌握Oracle数据库的使用和管理具有...

    sql面试题\oracle面试题目

    ### SQL与Oracle面试知识点解析 #### 1. 冷备份与热备份的不同点及各自的优点 - **冷备份**:通常在数据库完全关闭的情况下进行,适用于全盘备份。其主要优点在于备份速度快、数据一致性高,恢复过程简单快速。缺点...

    Oracle经典面试题(个人精心收集,值得收藏)

    本资料集合了多年以来个人精心收集的Oracle经典面试题,旨在帮助求职者或数据库管理员更好地准备面试,理解Oracle数据库的核心概念和技术。 1. **SQL基础** - SQL(Structured Query Language)是用于管理关系...

Global site tag (gtag.js) - Google Analytics