PL / SQL是SQL的高级版本。给出了带有答案的PL / SQL面试问题的最高列表。

1)什么是PL / SQL?

PL / SQL代表对SQL的过程语言扩展。它支持编程语言和SQL的过程功能。它是由Oracle Corporation在90年代初开发的, 目的是增强SQL的功能。

2)使用PL / SQL的目的是什么?

PL / SQL是SQL的扩展。尽管SQL是非过程性的, 但PL / SQL是Oracle设计的过程性语言。发明它是为了克服SQL的局限性。

3)PL / SQL的最重要特征是什么?

一些重要特征的列表:

PL / SQL是一种块结构语言。

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

PL / SQL与Oracle数据字典集成在一起。

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

4)什么是PL / SQL表?为什么使用它?

类型表的对象称为PL / SQL表, 其建模为数据库表。我们也可以说PL / SQL表是提供数组的一种方法。数组就像内存中的临时表一样, 可以非常快速地进行处理。 PL / SQL表用于移动批量数据。它们简化了移动的数据收集。

5)PL / SQL中有哪些可用的数据类型?

PL / SQL中有两种类型的数据类型:

标量数据类型示例为NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN等。

复合数据类型的示例是RECORD, TABLE等。

6)PL / SQL的基本结构是什么?

PL / SQL使用BLOCK结构作为其基本结构。每个PL / SQL程序都由构成PL / SQL块的SQL和PL / SQL语句组成。

PL / SQL块包含3个部分。

声明部分(可选)

执行科(强制性)

异常处理部分(可选)

7)PL / SQL中的FUNCTION, PROCEDURE和PACKAGE有什么区别?

函数:PL / SQL函数的主要目的通常是计算并返回单个值。函数在其规范中具有返回类型, 并且必须返回该类型中指定的值。

过程:过程没有返回类型, 并且不应返回任何值, 但是它可以具有一个return语句, 该语句只是简单地停止执行并返回给调用方。一个过程用于返回多个值, 否则它通常类似于一个函数。

包:包是架构对象, 将逻辑上相关的PL / SQL类型, 项目和子程序分组。你也可以说它是一组函数, 过程, 变量和记录类型的语句。它提供了模块化功能, 因为它有助于应用程序开发。它用于隐藏未经授权的用户的信息。

8)什么是例外?什么是例外类型?

异常是PL / SQL的错误处理部分。有两种类型的异常:pre_defined异常和user_defined异常。

9)如何编写一个将单词串联在一起的语句?和”世界”?并将其分配给名为Greeting的变量?

问候语:=’Hello’|| ‘世界’;

10)PL / SQL是否支持CREATE命令?

不可以。PL/ SQL不支持CREATE等数据定义命令。

11)编写函数和存储过程之间的唯一区别。

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

12)异常与错误有何不同?

每当发生错误时, 就会发生异常。错误是错误, 而异常是警告或错误情况。

13)使用索引的主要原因是什么?

更快地访问表中的数据块。

14)什么是PL / SQL例外?告诉我任何三个。

Too_many_rows

没有找到数据

值错误

Zero_error等

15)如何声明用户定义的异常?

你可以在DECLARE部分下使用关键字EXCEPTION声明用户定义的异常。

语法

EXCEPTION;

16)PL / SQL中有哪些预定义的例外?

PL / SQL中的预定义异常列表:

DUP_VAL_ON_INDEX

ZERO_DIVIDE

没有找到数据

TOO_MANY_ROWS

CURSOR_ALREADY_OPEN

无效号码

INVALID_CURSOR

PROGRAM_ERROR

超时_ON_RESOURCE

STORAGE_ERROR

LOGON_DENIED

VALUE_ERROR

等等

17)PL / SQL中的触发器是什么?

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

18)可以在一个表上应用的最大触发器数是多少?

12个触发器。

19)PL / SQL中存在几种类型的触发器?

PL / SQL中有12种类型的触发器, 包含BEFORE, AFTER, ROW, TABLE, INSERT, UPDATE, DELETE和ALL关键字的组合。

在所有行插入之前

所有行插入后

插入之前

插入后等

20)执行触发器和存储过程有什么区别?

触发器将自动执行, 而无需用户执行任何操作, 而存储过程则由用户显式调用。

21)将触发器与视图关联时会发生什么?

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

22)触发器中WHEN子句的用途是什么?

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

23)如何禁用触发器名称update_salary?

ALTER TRIGGER update_salary DISABLE;

24)使用哪个命令删除触发器?

DROP TRIGGER命令。

25)在执行数据库触发器时, 两个可用的虚拟表是什么?

表列称为THEN.column_name和NOW.column_name。

对于与INSERT相关的触发器, NOW.column_name值仅可用。

对于与DELETE相关的触发器, THEN.column_name值仅可用。

对于与UPDATE相关的触发器, 两个Table列均可用。

26)什么是存储过程?

存储过程是执行一个或多个特定功能的语句序列或命名的PL / SQL块。它类似于其他编程语言中的过程。它存储在数据库中, 并且可以重复执行。它存储为架构对象。它可以嵌套, 调用和参数化。

27)使用PL / SQL可以创建哪些不同的模式对象?

存储过程和功能

配套

扳机

游标

28)你对PL / SQL游标了解什么?

Oracle使用工作区来执行SQL命令。 Oracle处理SQL命令时, 它将在内存中打开一个称为”专用SQL区域”的区域。该区域由光标标识。它允许程序员命名该区域并访问其信息。

29)隐式游标和显式游标之间有什么区别?

隐式游标由Oracle隐式声明。这是所有仅返回一行的DDL和DML命令的光标。

为返回多行的查询创建显式游标。

30)你将通过游标属性SQL%ROWCOUNT得到什么?

游标属性SQL%ROWCOUNT将返回由SQL语句处理的行数。

31)你将通过游标属性SQL%FOUND得到什么?

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

32)你将通过游标属性SQL%NOTFOUND得到什么?

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

33)你对PL / SQL包了解什么?

可以将PL / SQL包指定为一个文件, 该文件将功能, 游标, 存储过程和变量集中在一个位置。

34)PL / SQL包的两个不同部分是什么?

PL / SQL软件包包含以下两个部分:

规范部分:指定用于定义应用程序接口的部分。

正文部分:此部分指定在何处定义规范的实现。

35)使用哪个命令删除软件包?

DROP PACKAGE命令用于删除软件包。

36)如何执行存储过程?

有两种执行存储过程的方法。

在SQL提示符下, 写EXECUTE或EXEC, 后跟procedure_name。

EXECUTE or [EXEC] procedure_name;

只需使用过程名称

procedure_name;

37)存储过程的优点是什么?

模块化, 可扩展性, 可重用性, 可维护性和一次编译。

38)在PL / SQL中使用哪些游标属性?

%ISOPEN:它检查游标是否打开。

%ROWCOUNT:返回受DML操作影响的行数:INSERT, DELETE, UPDATE, SELECT。

%FOUND:它检查游标是否已获取任何行。如果是, 则为TRUE。

%NOTFOUND:它检查游标是否已获取任何行。如果否-TRUE。

39)语法错误和运行时错误有什么区别?

PL / SQL编译器可以轻松检测到语法错误。例如:拼写错误等, 而运行时错误则通过PL / SQL块中的异常处理部分进行处理。例如:SELECT INTO语句, 不返回任何行。

40)解释Commit语句。

对于Commit语句, 满足以下条件:

其他用户可以查看交易所做的数据更改。

交易获得的锁被释放。

交易完成的工作成为永久性的。

41)解释回滚语句?

事务结束时发出Rollback语句。以下条件适用于Rollback语句:

过渡中完成的工作被撤消, 就好像从未发布过一样。

交易获得的所有锁均被释放。

42)解释SAVEPOINT语句。

使用SAVEPOINT, 只能撤消部分事务。

43)什么是变异表错误?

当触发器尝试更新其当前正在使用的行时, 发生突变表错误。它通过使用视图或临时表来修复。

44)什么是一致性?

一致性只是意味着每个用户都能看到一致的数据视图。

考虑一个例子:有两个用户A和B。A将钱转入B的帐户。在这里, 更改将在A的帐户(借方)中更新, 但直到将其更新为B的帐户(贷方)为止, 然后其他用户才能看到A的帐户的借方。在借记A和贷记B之后, 可以看到更新。那是一致性。

45)什么是光标, 为什么需要它?

游标是执行SQL语句时在系统内存中创建的临时工作区。

游标包含有关select语句和它所访问的数据行的信息。该临时工作区存储从数据库检索的数据并处理该数据。游标可以容纳多于一行, 但一次只能处理一行。需要游标来单独处理查询行。

46)PL / SQL中有多少种游标可用?

PL / SQL中有两种游标类型。

隐式游标, 以及

显式游标

Java OOP面试问题

Java字符串和异常面试问题

JDBC面试问题

JSP面试问题

休眠面试问题

SQL面试题

Android面试题

MySQL面试问题

Java基础面试问题

Java多线程面试问题

Java Collection面试题

Servlet面试问题

春季面试问题

PL / SQL面试问题

Oracle面试问题

SQL Server面试问题

oracle pl sql面试题,SQL面试:PL/SQL面试问题和答案大全相关推荐

  1. [aaronyang原创] Mssql 一张表3列的sql面试题,看你sql学的怎么样

    文章已经迁移到:http://www.ayjs.net/post/99.html 文章已经迁移到:http://www.ayjs.net/post/99.html 文章已经迁移到:http://www ...

  2. ORACLE数据库之PL/SQL触发器、rownum、动态SQL、数据库之视图与索引

    WHEN子句说明触发约束条件.Condition为一个逻辑表达时,其中必须包含相关名称,而不能包含查询语句,也不能调用PL/SQL函数.WHEN子句指定的触发约束条件只能用在BEFORE和AFTER行 ...

  3. ORACLE EBS 开发 用于并发程序的PL/SQL API

    ORACLE EBS 开发 用于并发程序的PL/SQL API 1.  FND_CONC_GLOBAL包 这个包用于从PL/SQL程序中提交子请求. u  函数FND_CONC_GLOBAL.REQU ...

  4. ORACLE PL/SQL编程之二:PL/SQL块结构和组成元素

    2.1 PL/SQL块 PL/SQL程序由三个块组成,即声明部分.执行部分.异常处理部分. PL/SQL块的结构如下: DECLARE --声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及 ...

  5. sql面试题问答题_SQL面试问答

    sql面试题问答题 SQL interview questions are asked in almost all interviews because database operations are ...

  6. 面试阿里必知的SQL面试题 100讲

    SQL 常见面试题解析 内容简介 本文介绍并分析了 100 道常见 SQL 面试题,主要分为三个模块:SQL 初级查询.SQL 高级查询以及数据库设计与开发.文章内容结构如下图所示: 本文主要使用三个 ...

  7. PL/SQL编程基础(一):PL/SQL语法简介(匿名PL/SQL块)

    PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言. SQL与编程语言之间的不同在于,SQL没有变量,SQL没有流程控制(分支,循环).而PL/ ...

  8. PL/SQL程序设计(一)—— PL/SQL程序设计简介

    (一)什么是PL/SQL PL/SQL是是由甲骨文公司在90年代初开发,以提高SQL的功能. PL/SQL是嵌入在Oracle数据库中的三个关键的编程语言之一(随着SQL本身和Java).PL/SQL ...

  9. sql面试题:面试常考的sql语句题汇总(面试SQL必考必看)

    我自己编辑总结的sql面试题目大全,也是每条都验证过的 第一类:sql面试题(学生表_课程表_成绩表_教师表) 表结构,节选自:http://www.cnblogs.com/qixuejia/p/36 ...

  10. PL/Sql快速执行 insert语句的.sql文件

    当全是 insert语句的.sql文件太大时(insert 语句条数太大),直接打开执行sql文件,pl/sql会卡死. 这是可以用pl/sql的命令窗口来执行.sql文件,操作步骤如下: 1.新建命 ...

最新文章

  1. 微信公众号Java开发-笔记01【微信公众号介绍、开发环境搭建】
  2. 科普|什么是负载均衡
  3. Luogu3732 [HAOI2017] 供给侧改革 【后缀数组】【线段树】【乱搞】
  4. java 增 删 查 改_如何对java链表进行增、删、查、改操作
  5. 怎样完善和推广自己的理论模型?
  6. C++11 多线程线程共享数据
  7. 用CSS制作日历弹出框的心得
  8. mysql的常用引擎
  9. prcs6汉化补丁怎么替换_美少女万华镜5汉化版百度云下载-美少女万华镜5汉化版百度网盘下载-附全cg...
  10. 电信专业人才选拔条件
  11. 如何基于vue开发ui组件库(heaven-ui)
  12. 一次安装IE11浏览器的经历
  13. 安装g++时出现的一种报错及解决方案
  14. ACE_Message_QueueACE_MT_SYNCH::putq ()使用时需要注意的地方
  15. 黑苹果双系统安装教程macOS High Sierra 10.13.x
  16. 【python】字符串string的截取;获取字符串内的一串
  17. Hadoop数据仓库hive的应用
  18. 计算机图形学是研究真实,计算机图形学论文真实感制图技术在图形学中的应用...
  19. 让mysql支持emoji表情_让MySQL支持Emoji表情 mysql 5.6
  20. Angr 操作栈的符号执行 04_angr_symbolic_stack

热门文章

  1. 机载L波段卫星通信-市场现状及未来发展趋势
  2. 致敬学长!J20航模遥控器开源项目计划【开局篇】 | 先做一个开机界面 | MATLAB图像二值化 | Img2Lcd图片取模 | OLED显示图片
  3. oracle jdk下载镜像
  4. Ubuntu安装wine和Wine QQ
  5. Error launching Console Application PDFLaTeX
  6. 动易html编辑器漏洞,动易网站管理系统删除任意文件漏洞
  7. 配置RADIUS服务器
  8. 网状meta分析怎么入门?网状meta分析与meta分析区别
  9. 自然常数e相关数列收敛
  10. QT 周立功 can分析仪 二次开发