---
title: "管理存储过程和函数 | OceanBase 文档中心"
description: 管理存储过程和函数 PL 支持对存储过程和函数的查看和删除操作。 查看存储过程和函数 存储过程和函数保存在数据库的字典中，几个常用的字典视图如下： DBA_SOURCE ：所有的存储过程和函数。 ALL_SOURCE ：当前用户可以访问的所有存储过程和函数。 USER_SOURCE ：当前用户拥有的所有存储过程和函数…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 3.2.4 企业版 LTS

# 管理存储过程和函数

更新时间：2026-05-09 10:17:26

PL 支持对存储过程和函数的查看和删除操作。

## 查看存储过程和函数

存储过程和函数保存在数据库的字典中，几个常用的字典视图如下：

- `DBA_SOURCE`：所有的存储过程和函数。
 - `ALL_SOURCE`：当前用户可以访问的所有存储过程和函数。
 - `USER_SOURCE`：当前用户拥有的所有存储过程和函数。

示例：通过 `DBA_SOURCE` 查看用户 `HR` 的所有存储过程。

```javascript
obclient> SELECT OWNER,NAME,TYPE FROM DBA_SOURCE
      WHERE OWNER='HR' AND TYPE='PROCEDURE';
+-------+-------------+-----------+
| OWNER | NAME        | TYPE      |
+-------+-------------+-----------+
| HR    | AAA         | PROCEDURE |
| HR    | USERLOGIN   | PROCEDURE |
| HR    | LOG_MESSAGE | PROCEDURE |
+-------+-------------+-----------+

```

示例：通过 `USER_SOURCE` 查看当前用户拥有的存储过程 `log_message` 的内容。

```javascript
obclient> SELECT TEXT FROM USER_SOURCE WHERE NAME='log_message' AND
     TYPE='PROCEDURE'\G
*************************** 1. row ***************************
TEXT: PROCEDURE log_message(p_message varchar2)
    AS
BEGIN
    INSERT INTO logtable VALUES ( user, sysdate, p_message );
    COMMIT;
END log_message
1 row in set

```

## 删除存储过程和函数

删除存储过程的命令格式如下：

```javascript
DROP PROCEDURE [user.]Procudure_name;

```

删除函数的命令格式如下：

```javascript
DROP FUNCTION [user.]Function_name;

```

示例如下：

```javascript
obclient>DROP PROCEDURE log_message;
Query OK, 0 rows affected

```

 上一篇 下一篇 ![有帮助](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) 咨询热线
