3.17.1 DROP ROLE文の指定形式および規則
ロールを削除します。
- 〈この項の構成〉
(1) 指定形式
DROP ROLE文::=DROP ROLE ロール名 〔削除動作〕 削除動作::={CASCADE|RESTRICT}
(2) 指定形式の説明
- ●ロール名
-
削除するロールの名称を指定します。
定義していないロール名は指定できません。
ロール名の指定規則については,「6.1.4 名前の指定」を参照してください。
- ●削除動作
-
削除動作::={CASCADE|RESTRICT}
この指定は,次のどちらかの場合に限り有効となります。
-
ロールの削除に伴い,HADBユーザが持っているSELECT権限が取り消される場合
-
ロールの削除に伴い,HADBユーザが持っているREFERENCES権限が取り消される場合
削除動作の指定を省略した場合,CASCADEが仮定されます。
- CASCADE:
-
次のどちらかの条件を満たす場合でも,ロールを削除するときに指定します。
-
取り消し対象のSELECT権限を使用して定義したビュー表がある場合
この場合,該当するビュー表は無効化されます。また,無効化されるビュー表に依存するビュー表も無効化されます。
-
取り消し対象のREFERENCES権限を使用して定義した参照制約がある場合
この場合,該当する参照制約は削除されます。
-
- RESTRICT:
-
次のどちらかの条件を満たす場合は,DROP ROLE文をエラーとするときに指定します。
-
取り消し対象のSELECT権限を使用して定義したビュー表がある場合
-
取り消し対象のREFERENCES権限を使用して定義した参照制約がある場合
-
-
(3) 実行時に必要な権限
DROP ROLE文を実行する場合,DBA権限およびCONNECT権限が必要になります。
(4) 規則
-
自分(HADBサーバに接続中の認可識別子のHADBユーザ)が定義したロールだけを削除できます。ほかのHADBユーザが定義したロールは削除できません。
-
ロールを削除した場合,HADBユーザに付与されているロール利用権限が取り消されます。それに伴い,削除対象のロールによってHADBユーザに付与されているアクセス権限もすべて取り消されます。
-
ロールの削除によって,HADBサーバに接続中のHADBユーザが持っているアクセス権限が変更された場合,次のタイミングで変更後のアクセス権限が有効になります。
-
そのHADBユーザが実行する次のトランザクション以降
-
(5) 例題
- 例題
-
ロール(ROLE01)を削除します。
DROP ROLE "ROLE01"