DROP ROLE (SQL)
構文
DROP ROLE [IF EXISTS] role-name
概要
DROP ROLE 文は、ロールを削除します。ロールを削除すると、InterSystems IRIS は、そのロール権限が与えられている全ユーザおよびロールでそれを無効にし、データベースから削除します。
$SYSTEM.SQL.Security.RoleExists()Opens in a new tab メソッドを呼び出すことによって、ロールが存在するかどうかを判別できます。存在しない (または既に削除されている) ロールを削除しようとすると、DROP ROLE は SQLCODE -118 エラーを発行します。
特権
DROP ROLE コマンドは特権を必要とする操作です。埋め込み SQL 内で DROP ROLE を使用する前に、以下の要件を 1 つ以上満たす必要があります。
-
ロールの所有者である。
-
以下のいずれかでログインしている。
-
USE 権限がある %Admin_Secure 管理リソース
-
USE 権限がある %Admin_RoleEdit 管理リソース
-
システムに対する全面的なセキュリティ特権
-
-
ロール WITH ADMIN OPTION を付与されている。
特権がない場合は、SQLCODE -99 エラー (特権違反) が返されます。
$SYSTEM.Security.Login()Opens in a new tab メソッドを使用して、以下のようにユーザに適切な特権を割り当ててください。
DO $SYSTEM.Security.Login("_SYSTEM","SYS")
&sql( )
$SYSTEM.Security.Login メソッドを呼び出すには、%Service_Login:Use 特権が必要です。詳細は、"%SYSTEM.SecurityOpens in a new tab" を参照してください。
引数
IF EXISTS
存在しないロールに対してコマンドが実行される場合にエラーを抑制する引数 (オプション)。
role-name
削除するロールの名前。識別子の名前です。 ロール名は、大文字と小文字が区別されません。
例
以下の例は、BkUser という名前のロールを作成し、その後それを削除しています。
CREATE ROLE BkName
DROP ROLE BkName
関連項目
-
SQL 文 : CREATE ROLE、CREATE USER、DROP USER、GRANT、REVOKE、%CHECKPRIV