PL/SQL 的全称是什么

2025年3月17日 | 阅读 8 分钟

PL/SQL:过程化语言扩展,用于结构化查询语言

PL/SQL 是过程化语言扩展,用于结构化查询语言的缩写。该语言由 Oracle 开发,允许用户对数据库执行操作。该语言的主要功能是将过程化语言与用于数据库的结构化查询语言相结合。PL/SQL 的基本单位被称为块。块由三个组件组成。这些组件是声明性组件、可执行组件和异常处理组件。

PL/SQL Full Form

由于 PL/SQL 语言允许用户使用过程化结构实现 SQL 语句。此外,用户还可以使用 PL/SQL 块和子程序,允许用户在将这些命令提交给 Oracle 执行数据库中的语句之前合并多个 SQL 语句。这使得 Oracle 能够同时执行多个语句。如果不使用 PL/SQL,Oracle 必须一次处理一个 SQL 语句。在网络环境中,这会降低应用程序的响应时间,因为其他查询将不得不等待,以确保它们之前的语句已被执行。它还会增加网络流量。

将过程化语言与 SQL 相结合,使用户能够编译整个 PL/SQL 块并将其一次性以可执行形式存储,从而缩短应用程序的响应时间。用户可以构建一个存储在数据库中的 PL/SQL 程序,该程序以编译形式存储,可以随时使用块的名称调用。这被称为存储过程。它为用户节省了时间,因为他们不必一次又一次地键入相同的代码。

PL/SQL 中的存储过程在用户对表执行 INSERT、UPDATE 或 DELETE 语句时开始。最初执行的语句称为触发器。

使用 PL/SQL

PL/SQL Full Form

PL/SQL 块使用 SQL 关键字定义,例如 DECLARE、BEGIN、EXCEPTION 和 END。这些关键字允许用户将块划分为三个部分。DECLARE 关键字定义块的声明部分,BEGIN 和 EXCEPTION 分别定义块的可执行组件和异常处理组件。在 PL/SQL 块的声明组件中,用户需要定义和初始化常量和变量。如果用户在声明部分未初始化变量,则会自动为其分配 NULL 值。它还允许嵌套块并将它们提交给 SQL*Plus 等迭代工具。

它旨在计算并返回单个标量值或组,例如嵌套表或 VARRAY。用户还可以创建用户定义的函数,以及 Oracle 定义的函数。用户可以在 SQL 语句中使用函数,而过程不能。

PL/SQL 提供的功能示例

  • PL/SQL 提供的一些功能包括游标、嵌入式 PL/SQL 和调用存储过程。游标可以被视为指向上下文区域的指针。用户可以使用 PL/SQL 语句来管理上下文区域。用户还可以为游标分配唯一的名称。它们也可以保持未命名或匿名。如果为游标分配了名称,则更容易检索游标。它可以是隐式和显式的。
  • PL/SQL 块中定义的游标默认是隐式的。当 PL/SQL 遇到返回单个行的 SELECT 语句时,或者当数据库上执行 DELETE 和 INSERT 等 DML 命令时,可以创建游标来代替显式游标。
  • 显式游标对上下文区域提供更好的控制。使用 SELECT 查询来实现显式游标以检索单个或多个数据记录。隐式游标和显式游标产生相同的输出。隐式游标和显式游标之间的主要区别在于对游标的访问。
  • 用户可以在 C 等高级宿主语言中添加 PL/SQL 语句。Pro*COBOL 等几种编程工具会将整个 PL/SQL 块读取并作为一个嵌入式 SQL 语句执行。这使得用户可以在宿主程序的任何地方使用 PL/SQL 块,即使他们可能更想使用 SQL 语句。
  • 在宿主程序中嵌入 PL/SQL 块时,用户必须确保所有将与 PL/SQL 共享的变量都已声明。下一个要求是使用 Oracle 文档中提到的 EXEC SQL EXECUTE 和 END-EXEC 关键字来分隔 PL/SQL 块。
  • 用户可以使用 PL/SQL 创建存储过程。存储过程加载并发布后,用户就可以调用这些过程,从而节省了他们重复键入语句的时间和精力。用户可以使用 Pro*C 程序与 Oracle 建立连接。
  • 一旦完整的数据被插入,程序将自动将主机数组中关联元素的索引中的所有数据值分配给行。程序将重复该过程并分批呈现数据,直到没有更多数据可表示。

PL/SQL 的优点

  1. PL/SQL 提供了结构化和过程化查询语言的功能,使其更容易实现和执行查询。它被视为一种高事务处理语言。它允许用户通过调用外部编程语言直接调用数据库。
  2. 它还允许用户使用属于过程化语言的元素,例如循环和条件语句。
  3. 它可以管理运行时错误,并且用户可以声明常量和变量来实现查询。
  4. 用户还可以创建过程、函数、类型和变量。
  5. 它允许用户创建多个查询组成的块,这些块直接转发给 Oracle 引擎,从而减少了流量并提高了处理速度。
  6. PL/SQL 与 SQL 紧密集成,过程化编程和结构化查询语言之间的集成允许用户使用两种语言的功能。它可以执行 SQL 数据操作,提供游标控制并实现 SQL 预定义函数和运算符。用户还可以创建伪列,而无需将 PL/SQL 数据类型转换为 SQL 数据类型。此外,它还支持静态和动态查询语言。
  7. PL/SQL 允许用户将一组语句转发到数据库。它减少了应用程序和数据库之间的通信流量,因为每个事务不是单独发送的。只要支持 Oracle 数据库,用户就可以在任何操作系统上实现 PL/SQL。
  8. 用户还可以将 PL/SQL 查询存储为子程序,从而提高可伸缩性并允许在服务器上进行集中访问处理。共享服务器的内存功能使数据库能够支持数据库上的并发操作。这意味着多个用户可以通过单个节点访问数据库。
  9. 它只允许用户在数据库服务器上维护子程序的单个副本,而不是在每个系统上使用多个副本。这使得管理节点更容易。几个程序使用子程序,因为它允许用户修改实现它们的应用程序。
  10. 它还允许用户实现可以利用数据库直接创建网页的应用程序。它允许用户开发存在于网络上的数据库。
  11. PL/SQL 服务器页面还允许用户创建网页,并为逐行编写 HTML 代码的存储子程序提供了一种替代方案。
  12. 用户可以在开发 Web 应用程序时使用 PL/SQL 服务器页面作为模板。它使得构建布局和编写 PL/SQL 脚本来开发内容更加容易。

PL/SQL 提供的功能

PL/SQL 提供的一些功能如下:

  1. 它允许用户在查询中使用多种数据类型。
  2. 它还提供面向对象编程的功能。
  3. 它还可以执行系统中的错误检查。
  4. 它与结构化语言牢固集成。
  5. 它还提供可以组织语句的特定结构。
  6. 它用于开发 Web 应用程序和服务器页面。

PL/SQL 和 SQL 之间的区别

  • SQL 可以实现在多种数据库管理系统中,而 PL/SQL 只能在 Oracle 数据库中实现。它必须标准化,因为其他类似产品不使用它。
  • PL/SQL 可以被描述为一种非面向对象的过程化编程语言。类似编程语言的一些例子包括 C 和 Pascal。其根源可以追溯到 Ada。
  • 这些编程语言虽然有很大的不同,但都用于实现 SQL 查询来在数据库中创建、修改或删除数据。用户可以实现 SQL 语句来操作对象和数据,但它不包含编程语言的特性。PL/SQL 提供的一些附加功能包括循环和条件语句,例如 IF/THEN。它可以很容易地与 SQL 实现。

PL/SQL 和 SQL 之间的关键区别

  1. SQL 被视为生成报告、网页和屏幕的数据源。PL/SQL 通常被视为应用程序语言。其实现类似于 Java 和 PHP。它允许用户开发、修改和查看报告、网页和屏幕。
  2. SQL 不支持变量,而用户可以在 PL/SQL 中实现变量、约束和数据类型。
  3. 在 SQL 中,用户可以实现 DDL 和 DML 命令来对数据库执行查询,而在 PL/SQL 中,用户可以实现包含函数、触发器、变量以及控制和条件语句的代码块。控制语句包括 for 和 while 循环,而条件语句包括 if-then-else 语句。
  4. 在 SQL 中,用户可以实现单个语句或查询。但是,在实现 PL/SQL 时,用户可以同时实现多个操作,或者执行一个完整的语句块。通过减少网络流量来提高应用程序的效率。
  5. 可以在 PL/SQL 块中添加 SQL,而用户不能将 PL/SQL 块嵌入 SQL 语句中。
  6. PL/SQL 语句不直接与数据库交互,而 SQL 语句可以直接修改数据库服务器。
  7. 它还提供了高处理速度,用于处理大量数据的操作。仅靠 SQL 语句无法实现这一点。

在系统中安装 PL/SQL

如果用户想在系统中设置 PL/SQL,则必须确保 Oracle RDBMS 已下载并安装。

必须拥有 Oracle RDBMS,因为它负责实现 SQL 语句。在系统中安装 PL/SQL 的分步过程如下:

  1. 下载 Oracle 数据库的安装文件。使用安装文件启动安装程序。
  2. 输入您的电子邮件帐户,选中复选框,然后选择“下一步”按钮。
  3. 在下一个窗口中取消选中复选框,然后选择“继续”按钮进入下一步。
  4. 选择第一个选项“创建和配置数据库”,然后单击“下一步”。
  5. 如果您是初学者,并希望从头开始学习 PL/SQL,请选择提供的“桌面类”选项。
  6. 输入一个位置并更改 Oracle 基目录。其他位置将在软件中自动修改。单击下一步继续。
  7. 然后单击“完成”按钮进入配置的最后一步。程序将开始自行安装。
  8. 一旦数据库文件存储在指定位置,请单击“确定”按钮并退出安装。

PL/SQL 开发者的职责

PL/SQL 开发者的职责包括以下活动:

  1. 开发人员负责实现触发器、与 Oracle 数据库的高级 PL/SQL 通信以及存储过程以供将来使用。
  2. 开发人员与数据库管理员合作,创建和管理索引、表和表空间。他们协调进行数据审计和质量检查。

他们开发所有物理对象的结构,并通过实现统计结构来建议应用程序修改。他们创建和处理表、索引、权限和数据库链接。


下一个主题full-form