---
title: github-fill
description: "ALTER COMPILE 描述 该语句用于触发 procedure 或 function 的重新编译。 权限要求 执行 ALTER COMPILE 语句，需要当前用户拥有 ALTER 权限。有关 OceanBase 数据库权限的详细介绍，请参见 MySQL 模式下的权限分类 。 语法 ALTER {procedur…"
---
切换语言

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

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

# ALTER COMPILE

更新时间：2026-07-15 20:42:47

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.5/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/600.sql-statement-of-mysql-mode/1100.alter-compile-of-mysql-mode.md)  

## 描述

该语句用于触发 procedure 或 function 的重新编译。

## 权限要求

执行 `ALTER COMPILE` 语句，需要当前用户拥有 `ALTER` 权限。有关 OceanBase 数据库权限的详细介绍，请参见 [MySQL 模式下的权限分类](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001502681)。

## 语法

```sql
ALTER {procedure｜function} name COMPILE [reuse settings]

```

## 参数解释

| **参数** | **描述** |
| --- | --- |
| procedure | 指定 `alter` 的类型为 `procedure`。 |
| function | 指定 `alter` 的类型为 `function`。 |
| name | 重新编译的具体存储过程或函数的名字。 |
| reuse settings | 可选参数，使用 `reuse settings` 子句时，使用与原先 PL 对象相同设置的参数编译。不使用时，用当前 session 中设置的参数进行编译。 |

## 示例

```shell
obclient> ALTER procedure test_p COMPILE reuse settings;
Query OK, 0 rows affected (0.242 sec)

```

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