PL/SQL面试题



尊敬的读者,这些PL/SQL面试题是专门为了让您了解在PL/SQL面试中可能遇到的问题类型而设计的。根据我的经验,优秀的 interviewers 很少会提前计划好面试中要问的具体问题,通常问题会从该主题的一些基本概念开始,然后根据后续讨论和您的回答继续进行。

PL/SQL是SQL的扩展。SQL是非过程化的。PL/SQL是由Oracle设计的一种过程化语言,用于克服SQL中存在的局限性。

正确。

错误。PL/SQL具有结构化编程语言的所有特性,包括数据类型、变量、子程序、模块和过程结构。

  • 块结构语言。

  • 存储过程有助于更好地共享应用程序。

  • 可移植到所有支持Oracle的环境。

  • 与Oracle数据字典集成。

  • 存储过程和函数
  • 触发器
  • 游标
  • 变量和常量
  • 嵌入式SQL支持
  • 流程控制
  • 游标管理
  • 异常处理
  • 存储过程和包
  • 触发器
  • 声明部分
  • 执行部分
  • 异常处理部分

使用了错误的赋值运算符。正确的语法是:balance := balance + 2000;

greeting := ‘Hello’ || ‘World’;

NOT

OR

冒号(:)表示变量:deficit是一个外部变量。

它为变量分配与创建变量的列相同的 数据类型。例如,

dcode := dept.deptno%type;

变量dcode与dept表deptno列的数据类型相同。

它声明一个复合变量,该变量等效于表的行。创建变量后,可以使用此变量的名称访问表的字段。

例如

emptype := emp%rowtype;

name := emptype.empname;

包是一个将函数、游标、存储过程和变量组合在一个位置的文件。

触发器是一个存储在数据库中的PL/SQL程序,它在INSERT、UPDATE和DELETE命令之前或之后立即执行。

Oracle使用工作区来执行SQL命令。换句话说,当Oracle处理SQL命令时,它会在内存中打开一个称为专用SQL区域的区域。游标是此区域的标识符。它允许程序员为此区域命名并访问其信息。

正确。

错误。BEGIN声明开始执行部分。

正确。

错误。PL/SQL不支持CREATE之类的 数据定义命令。

它返回SQL语句处理的行数。

如果至少处理了一行,它将返回布尔值TRUE。

如果未处理任何行,它将返回布尔值TRUE。

LOOP命令、FOR…LOOP命令、WHILE命令。

触发器在无需用户任何操作的情况下自动执行,而存储过程需要显式调用。

基本上,触发器用于创建一致性、访问限制和实现数据库安全性。触发器还用于:

  • 创建涉及多个表搜索的验证机制

  • 创建日志以注册表的用法

  • 根据当前表中的包含或更改更新其他表。

正确。

错误。当触发器与视图关联时,基表触发器通常会被启用。

正确。

触发器不能执行COMMIT、ROLLBACK或SAVEPOINT命令。

WHEN子句指定必须为真才能触发触发器的条件。

正确。

CREATETRIGGER命令中的可选参数[ORREPLACE]会重新创建现有的触发器。使用此选项可以在无需先删除触发器的情况下更改其定义。

错误。INSTEADOF选项仅对视图有效。不能在表中指定INSTEADOF触发器。

ALTERTRIGGERupdate_marksDISABLE;

DROPTrigger命令。

DROPPROCEDURE命令。

函数返回值,而存储过程不返回值。

用户定义的异常在DECLARE部分使用EXCEPTION关键字声明。语法:

<exception_name>EXCEPTION;

显式游标使用CURSOR语句显式定义,其通用语法为:

CURSORcursor_name[(parameters)]ISquery_expression;

它允许处理返回多行的查询。

在显式游标上需要执行的步骤:

  • DECLARE - 为游标命名并定义其中的查询结构。

  • OPEN - 执行查询,查询返回的行可用于提取。

  • FETCH - 将当前行(游标位置)的值赋值给指定的变量。

  • CLOSE - 释放内存空间。

PL/SQL包有两个部分:

  • 规范部分 - 定义应用程序的接口。

  • 主体部分 - 定义规范的实现。

CREATEPACKAGE命令用于创建规范部分。CREATEPACKAGEBODY命令用于创建主体部分。

包中声明的类型、对象和子程序使用点表示法引用,如下所示:

package_name.type_name

package_name.object_name

package_name.subprogram_name

正确。

DROPPACKAGE命令。

Oracle为所有仅返回一行的DDL和DML命令隐式声明游标。对于返回多行的查询,将创建显式游标。

错误。当处理游标的最后一行并且没有其他行可用时,%NOTFOUND属性返回true。

正确。

接下来是什么?

接下来,您可以回顾一下您以前完成的与该主题相关的作业,并确保您能够自信地谈论它们。如果您是应届毕业生,面试官不会期望您能够回答非常复杂的问题,而是要确保您的基础概念非常扎实。

其次,如果您无法回答一些问题,这并不重要,重要的是,无论您回答了什么,都必须充满信心。所以在面试中要自信。Tutorialspoint祝您能遇到一位好面试官,并祝您未来的事业一切顺利。干杯! :-)

plsql_questions_answers.htm
广告