首页 > 编程知识 正文

sql常见面试笔试题,sql语句面试题及答案

时间:2023-05-05 15:14:16 阅读:22753 作者:1367

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数据字典集成。

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

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块有三个部分。

声明部分(可选)

执行科(强制) )

异常处理部(可选) ) ) )。

7 ) PL/SQL的功能、流程和软件包有什么区别?

函数: PL/SQL函数的主要目的通常是计算和返回各个值。 函数具有返回类型,必须返回由该类型指定的值。

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

软件包:软件包是一个方案对象,用于对逻辑上相关的PL/SQL类型、项目和子程序进行分组。 也可以说是一组函数、进程、变量和记录类型的语句。 为了有助于APP应用程序的开发,提供了模块化的功能。 用于隐藏非法用户的信息。

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声明用户定义的异常。

语法

执行

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面试问题

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。