DROP USER¶
说明¶
删除数据库用户
参数¶
username
要删除的用户名
CASCADE|RESTRICT
- CASCADE强制删除用户,并强制删除用户所拥有的schema和其他对象。
- RESTRICT只有用户所拥有的schema和其他对象上没有依赖时才会删除用户。
默认是RESTRICT。
注解
删除者必须是DBA。
不能删除系统内建的SYSDBA用户和SYSSECURE用户。
用户ID不能重用。用户删除后,新建的同名用户ID与已删除用户ID不同。
示例¶
示例1: 删除用户
-- 以 sysdba 登录
CONNECT sysdba/szoscar55;
-- 清理环境
DROP USER user1 CASCADE;
-- 创建用户
CREATE USER user1 WITH PASSWORD 'abc123!';
-- 以 user1 登录
CONNECT user1/abc123!;
-- 创建表
CREATE TABLE tab1(a INT);
INSERT INTO tab1 VALUES (100);
INSERT INTO tab1 VALUES (200);
INSERT INTO tab1 VALUES (300);
SELECT * FROM tab1 ORDER BY a;
A(int) |
------------
100 |
------------
200 |
------------
300 |
总数目:3
-- 以 sysdba 登录
CONNECT sysdba/szoscar55;
-- 查询 user1 的表
SELECT * FROM user1.tab1 ORDER BY a;
A(int) |
------------
100 |
------------
200 |
------------
300 |
总数目:3
-- 删除用户
-- 用户有其他对象(表 user1.tab1),删除失败
DROP USER user1;
ERROR, 删除失败,schema USER1 被其他对象所依赖. 如有需要,可以使用 DROP ... CASCADE 语法对依赖对象进行级联删除
-- 强制删除用户
DROP USER user1 CASCADE;
-- 表 user1.tab1 已被级联删除,查询失败
SELECT * FROM user1.tab1 ORDER BY a;
ERROR, 模式 "USER1" 不存在或无权访问