使用 CREATE ROLE 语句声明并注册新的角色。
该语句是 SQL ANSI/ISO 标准的扩展。
用法
CREATE ROLE 创建一个新角色并在系统目录中注册。角色可以用来将数据库对象上的一组权限标
识符和一组访问特权相关联。系统目录维护被授权给用户或其它角色的角色(以及他们相应的特权)
的信息。
只有数据库管理员(DBA)可以使用 CREATE ROLE 创建一个新角色。DBA 可以将完成某些工作
任务所需的特权(如 engineer )指定给某个角色,然后可以使用 GRANT 语句将该角色指定给某
个特定的用户,而不是将相同的特权集授权给每个用户。
角色名称是权限标识符。它不能是对数据库服务器或对数据库服务器的操作系统已知的用户名。角
色名称不能已经列在 sysusers 系统目录表的 username 列,也不能已经列在 systabauth 、
syscolauth 、sysfragauth 、sysprocauth 或 sysroleauth 系统目录表的 grantor 或 grantee 列中。
角色名称不能与已经列在 sysxtdtypeauth 系统目录表的 grantor 或 grantee 列中的任何用户或角
色名称匹配,也不能与任何内置角色( EXTEND 或 DBSECADM )匹配。
如果包含了 IF NOT EXISTS 关键字,则当指定名称的角色已经在当前数据库中注册时,数据库服务
器不采取操作(而非向应用程序发生异常)。
创建角色之后,DBA 可以使用 GRANT 语句将