---
title: "SET ROLE - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: "SET ROLE 描述 该语句用于启用或禁用当前会话的角色权限。 语法 SET ROLE { role_name [ IDENTIFIED BY password ][, role_name [ IDENTIFIED BY password ] ]... | ALL [ EXCEPT role_name [, rol…"
---
切换语言

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

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

# SET ROLE

更新时间：2026-02-23 15:51:34

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/900.sql-statement-of-oracle-mode/300.dcl-of-oracle-mode/3400.set-role-of-oracle-mode.md)  

## 描述

该语句用于启用或禁用当前会话的角色权限。

## 语法

```sql
SET ROLE
{ role_name [ IDENTIFIED BY password ][, role_name [ IDENTIFIED BY password ] ]...
| ALL [ EXCEPT role_name [, role_name ]... ]
| NONE
}

-- 角色类型说明
role_name:
    'role_name'     -- 字符串形式
  | name            -- 标识符形式
  | DBA            -- 内置角色
  | RESOURCE
  | CONNECT
  | PUBLIC

```

## 参数解释

| 参数 | 描述 | |---------------|----------------- ｜ | role_name | 指定要为当前会话启用的角色名称。 | | IDENTIFIED BY password | 指定角色的密码。如果角色有密码，则您必须指定密码才能启用该角色。 | | ALL | 启用为当前会话授予的所有角色。`EXCEPT` 子句表示列出的角色除外，为可选项。如果您已被直接授予任何具有密码的角色，则不能指定此子句，否则会引发报错。 | | NONE | 禁用当前会话的所有角色。 |

## 示例

```sql
-- 1. 创建角色和表
obclient> CREATE ROLE manager_role;
obclient> CREATE ROLE analyst_role;
obclient> CREATE TABLE employees(id INT, name VARCHAR(20));

-- 2. 授予角色权限
obclient> GRANT SELECT ON employees TO analyst_role;
obclient> GRANT ALL ON employees TO manager_role;

-- 3. 将角色授予用户
obclient> CREATE USER john IDENTIFIED BY "Password123!";
obclient> GRANT manager_role, analyst_role TO john;

-- 4. 用户切换角色
obclient> CONNECT john/password
obclient> SET ROLE manager_role;                     -- 使用管理员角色
obclient> SET ROLE analyst_role;                     -- 切换到分析师角色
obclient> SET ROLE ALL;                             -- 启用所有角色
obclient> SET ROLE ALL EXCEPT analyst_role;         -- 启用除分析师外的所有角色
obclient> SET ROLE NONE;                            -- 禁用所有角色

```

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