---
title: "information_schema.role_routine_grants - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: information_schema.role_routine_grants 说明 对于 V4.3x 版本，该视图从 V4.3.3 版本开始引入；对于 V4.2.x 版本，该视图从 V4.2.4 版本开始引入。 功能描述 视图 role_routine_grants 展示了用户在当前会话中被授予的已激活的角色的例程权…
---
切换语言

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

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

# information_schema.role_routine_grants

更新时间：2026-04-12 12:24:22

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/700.system-views/400.system-view-of-mysql-mode/200.dictionary-view-of-mysql-mode/1730.information_schema-role-routine-grants-of-mysql-mode.md)

#### 说明

对于 V4.3x 版本，该视图从 V4.3.3 版本开始引入；对于 V4.2.x 版本，该视图从 V4.2.4 版本开始引入。

## 功能描述

视图 `role_routine_grants` 展示了用户在当前会话中被授予的已激活的角色的例程权限信息，以及这些角色被授予的其他角色的例程权限信息。

## 字段说明

| **字段名称** | **类型** | **是否可以为 NULL** | **描述** |
| --- | --- | --- | --- |
| GRANTOR | varchar(97) | YES | 授权给该角色的账户的用户名部分。 |
| GRANTOR_HOST | varchar(256) | YES | 授权给该角色的账户的主机部分。 |
| GRANTEE | varchar(32) | NO | 该角色对应账户的用户名部分。 |
| GRANTEE_HOST | varchar(255) | NO | 该角色对应账户的主机名部分。 |
| SPECIFIC_CATALOG | varchar(3) | NO | 该角色被授权的例程例程所属的目录的名称，该值始终为 def。 |
| SPECIFIC_SCHEMA | varchar(64) | NO | 该角色被授权的例程例程所属的数据库名。 |
| SPECIFIC_NAME | varchar(64) | NO | 该角色被授权的例程例程的名称。 |
| ROUTINE_CATALOG | varchar(3) | NO | 该角色被授权的例程例程所属的目录的名称，该值始终为 def。 |
| ROUTINE_SCHEMA | varchar(64) | NO | 该角色被授权的例程例程所属的数据库名。 |
| ROUTINE_NAME | varchar(64) | NO | 该角色被授权的例程例程的名称。 |
| PRIVILEGE_TYPE | varchar(90) | NO | 授予的权限。该值可以是在例程级别授予的任何权限。 |
| IS_GRANTABLE | varchar(3) | NO | 该角色的权限是否可以授予其他用户。 |

## 查询示例

1. 创建角色和函数。

   创建角色 `employee`：

   ```shell
   obclient [test]> CREATE ROLE employee;

   ```

   创建函数 `add_numbers`：

   ```shell
   obclient [test]> DELIMITER //

   ```

   ```shell
   obclient [test]> CREATE FUNCTION test.add_numbers(a INT, b INT)
   RETURNS INT
   BEGIN
         RETURN a + b;
   END;//

   ```

   ```shell
   obclient [test]> DELIMITER ;

   ```
 2. 为角色授予例程权限。

   ```shell
   obclient [test]> GRANT EXECUTE,ALTER ROUTINE ON test.add_numbers TO employee;

   ```
 3. 将角色授予用户。

   ```shell
   obclient [test]> GRANT employee TO user1;

   ```
 4. 使用用户 `user1` 连接到数据库。
 5. 在当前会话中激活 `employee` 角色。

   ```shell
   obclient [test]> SET ROLE employee;

   ```
 6. 查看用户在当前会话中被授予的已激活的角色的例程权限信息。

   ```shell
   obclient [test]> USE information_schema;

   ```

   ```shell
   obclient [information_schema]> SELECT * FROM information_schema.role_routine_grants;

   ```

   查询结果如下：

   ```shell
   +---------+--------------+-----------+--------------+------------------+-----------------+---------------+-----------------+----------------+--------------+-----------------------+--------------+
   | GRANTOR | GRANTOR_HOST | GRANTEE   | GRANTEE_HOST | SPECIFIC_CATALOG | SPECIFIC_SCHEMA | SPECIFIC_NAME | ROUTINE_CATALOG | ROUTINE_SCHEMA | ROUTINE_NAME | PRIVILEGE_TYPE        | IS_GRANTABLE |
   +---------+--------------+-----------+--------------+------------------+-----------------+---------------+-----------------+----------------+--------------+-----------------------+--------------+
   | root    | %            | employee  | %            | def              | test            | add_numbers   | def             | test           | add_numbers  | Execute,Alter Routine | NO           |
   +---------+--------------+-----------+--------------+------------------+-----------------+---------------+-----------------+----------------+--------------+-----------------------+--------------+
   1 row in set

   ```

## 相关文档

[查看角色](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480426)

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