---
title: "PL 编译 - OB Cloud 云数据库 master | OceanBase 文档中心"
description: PL 编译 本文旨在介绍如何在 SQL 窗口中编译 PL 语句。 背景信息 PL（Procedural Language）是一种过程化程序语言，是对 SQL 语句的扩展。 PL 在普通 SQL 语句的基础上增加了编程语言的特点，将数据操作和查询语句组织在 PL 代码的过程化代码中，通过逻辑判断、循环等操作实现复杂的功…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*qbZXRo_94ZEAAAAAAAAAAAAADiGDAQ/original) OB Cloud 云数据库

# PL 编译

更新时间：2026-07-03 12:52:28

本文旨在介绍如何在 SQL 窗口中编译 PL 语句。

## 背景信息

PL（Procedural Language）是一种过程化程序语言，是对 SQL 语句的扩展。 PL 在普通 SQL 语句的基础上增加了编程语言的特点，将数据操作和查询语句组织在 PL 代码的过程化代码中，通过逻辑判断、循环等操作实现复杂的功能。

使用 PL 可以编写具有高级功能的程序，能够将业务逻辑封装在数据库内部，提供更好的抽象性和安全性，同时减少了网络的交互，调用速度更快，从而提升整体性能。

PL 程序的开发工作是数据库服务开发人员重要的日常工作，与 SQL 语句的支持模块类似，PL 的调试模块同样为非常重要的功能。因此，在编程过程中，开发人员需要一个 PL 开发区域和调试功能。

PL 语句可用于编写函数、存储过程、程序包和触发器等数据库对象。

SQL 控制台支持 PL 对象和匿名块的创建、编译、运行和调试等功能。用户可在匿名块窗口的编辑区域中编译 PL 语句，同时可对已创建的 PL 对象进行编辑和调试等操作。

本文档以创建 OceanBase Oracle 类型的存储过程为例，在数据库 ODC_TEST 中创建存储过程 PROC_VARCHAR2。

## 前提条件

- 拥有当前租户的数据库账号和密码以登录 SQL 控制台。
 - SQL 控制台支持 PL 编译函数/存储过程/程序包，需要保证您的 OceanBase Oracle/OB Cloud Oracle 版本为 V2.2.7x、V3.0.0 及之后。
 - SQL 控制台支持 PL 运行函数/存储过程/程序包/匿名块：

     - PL 运行函数/存储过程时，需要保证您的 OceanBase Oracle/OB Cloud Oracle/OceanBase MySQL/OB Cloud MySQL 版本为 V2.0.x 及之后、MySQL 版本为 V5.7。
     - PL 运行程序包/匿名块时，需要保证您的 OceanBase Oracle/OB Cloud Oracle 版本为 V2.0.x 及之后。

#### 注意

- 如果数据源为 OceanBase 类型，有且仅能通过 OBProxy 连接，该实例将不支持调试。
 - 匿名块窗口仅在 OceanBase Oracle/OB Cloud Oracle 数据源提供。

## PL 编译

1. [登录 SQL 控制台](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000000706283)后，在 SQL 窗口中输入下列语句创建存储过程 `PROC_VARCHAR2`。

   ```sql
   CREATE OR REPLACE PROCEDURE PROC_VARCHAR2(p1 in VARCHAR2, p2 out VARCHAR2, p3 in out VARCHAR2)
   as
   v1 varchar2(64) := 'hello,oceanbase';
   begin
   dbms_output.put_line(p1);
   dbms_output.put_line(p3);
    p2 := 'hello,odc';
   end;

   ```

   ![1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/OBCLOUD/400.pl-compile/1.png)
 2. 在 SQL 窗口的左侧导航栏，查询已创建的存储过程 `PROC_VARCHAR2`，选择 ![1.2](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/OBCLOUD/400.pl-compile/1.2.png) > **编译** 。

    ![](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/OBCLOUD/400.pl-compile/2.png)
 3. 编译 PL 语句并查看编译结果。

   ![3](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/OBCLOUD/400.pl-compile/3.png)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
