標準のCREATE/DROP ROLE構文でEXTERNAL ROLEを指定して、ディレクトリ ユーザーの外部ロールを作成することができます。CREATE/DROP EXTERNAL ROLE文を実行するユーザーはCREATE ROLE権限およびDROP ROLE権限を持っている必要があります。 例は以下のとおりです。
CREATE EXTERNAL ROLE ext_role_name;
または
DROP EXTERNAL ROLE ext_role_name;
データベース ロールを削除する一方で、構文にEXTERNALを含めたり、EXTERNAL用語を含めることなく外部ロールを削除したりすると、システムは以下のようなエラーを返します。
DROP EXTERNAL ROLE dbrole; Failure 5933: Role being dropped is not an external role DROP ROLE extrole; Failure 5934: Role being dropped is an external role
システムは外部ロールをデータベース ロールと共にデータ ディクショナリに記録しますが、外部ロールをディレクトリ ユーザーにマッピングすると、システムはDBC.RoleGrantsに行を挿入しません。
外部ロールに権限を付与する方法は、データベース ロールに権限を付与する方法と似ています。 ロールの作成を参照してください。
ユーザーは最大50のロールを所有できます。最大値を超えると、エラーが報告されます。