OceanBase 数据库支持 PL 系统包,以扩展数据库功能并提供对 SQL 功能的 PL 访问。您可以在创建应用程序时或者在创建自己的存储过程时使用所提供的系统包。

本手册介绍了 OceanBase 数据库服务器当前版本所支持的系统包。

系统包是存储在数据库中的相关程序对象的封装集合。 程序对象包括存储过程、函数,变量、常量、游标和异常。

当具有相应权限后,运行如下语句查询当前支持的系统包及其相关信息:

  1. SELECT * FROM DBA_SOURCE;

运行如下语句查询某一系统包及其相关信息:

  1. SELECT * FROM DBA_SOURCE WHERE NAME =[name];

PL 系统包的构成

PL 系统包有两个部分:SPECIFICATION 和 BODY。SPECIFICATION 是应用程序的接口,包含对应用程序可见的公共声明,声明了可使用的类型、变量、常量、异常、游标和子程序。BODY 包含实现细节和对应用程序隐藏的私有声明,完整定义了游标和子程序,以支持 SPECIFICATION 的实现。

说明

OceanBase 数据库不支持用户修改系统包。

PL 系统包的使用

创建数据库时,将自动安装 OceanBase 数据库所提供的系统包。

要从 SQL 调用 PL 函数,您必须对该函数具有 EXECUTE 权限;如果要查看 PL 函数所定义的视图,必须对该视图具有 SELECT 权限。

PL 系统包概览

下表列出了 OceanBase 数据库当前版本所支持的 PL 系统包和简要描述。

系统包

描述

DBMS_CRYPTO

使您可以加密和解密存储的数据,可以与运行的 PL 程序一起使用,并支持加密和哈希算法。

DBMS_DEBUG

实现服务器端调试器,并提供一种调试服务器端 PL 程序单元的方法。

DBMS_OUTPUT

将信息累积在缓冲区中,以便以后可以检索。

DBMS_LOB

提供用于大对象(LOB)数据类型-BLOB 和 CLOB(读/写)的通用程序。

DBMS_LOCK

使您可以通过 Lock Management 服务请求,转换和释放锁

DBMS_METADATA

使调用者可以轻松地从字典中检索完整的数据库对象定义(元数据)

DBMS_RANDOM

提供内置的随机数生成器。

DBMS_SQL

使用动态 SQL 访问数据库。

DBMS_XA

包含 XA / Open 接口,以供应用程序在 PL 中调用 XA 接口。

UTL_I18N

提供一组服务(全球化服务),以帮助开发人员构建多语言应用程序。

UTL_RAW

提供用于处理 RAW 数据类型的 SQL 函数。