语法格式
删除用户的 SQL 命令格式如下:
DROP USER <用户名> [RESTRICT | CASCADE];
用户名指要删除的用户名称。
应用举例
【例 1】以用户 SYSDBA 登录,删除用户 USER0。
SQL>DROP USER user0;
如果用户 USER0 存在数据对象,则不能删除该用户。
【例 2】以用户 SYSDBA 登录,尝试删除用户 SYSSSO。
SQL>DROP USER syssso;
DROP USER syssso;
第 1 行附近出现错误[-5533]:没有删除用户权限.
这个例子说明,不能删除系统自动创建的 SYSSSO 用户。
附加说明
(1)系统自动创建的三个系统用户 SYSDBA、SYSAUDITOR 和 SYSSSO 不能被删除。
(2)具有相应的 DROP USER 权限的用户即可进行删除用户操作。
(3)删除用户会删除该用户建立的所有对象,且不可恢复。如果要保存这些实体,请参考 REVOKE 语句。
(4)如果未使用 CASCADE 选项,若该用户建立了数据库对象(如表、视图、过程或函数),或其他用户对象引用了该用户的对象,或在该用户的表上存在其他用户建立的视图,DM 将返回错误信息,而不删除此用户。
(5)如果使用了 CASCADE 选项,除数据库中该用户及其创建的所有对象被删除外,如果其他用户创建的表引用了该用户表上的主关键字或唯一关键字,或者在该表上创建了视图,DM 还将自动删除相应的参照完整性约束及视图依赖关系。
(6)正在使用的用户可以被删除,删除后重登录或者进行操作会报错。