3.14.1 DROP USER文の指定形式および規則
HADBユーザを削除します。
- 〈この項の構成〉
(1) 指定形式
DROP USER文::=DROP USER 認可識別子 〔削除動作〕 削除動作::={CASCADE|RESTRICT}
(2) 指定形式の説明
- ●認可識別子
-
削除するHADBユーザの認可識別子を指定します。
認可識別子の指定規則を次に示します。
-
英小文字を指定する場合は,認可識別子を二重引用符(")で囲んで指定してください。二重引用符で囲まないと,英小文字を指定しても英大文字が指定されたと見なされます。
(例)DROP USER adbuser01 …
この場合,認可識別子にADBUSER01が指定されたと見なされます。
-
認可識別子は名前として指定するため,二重引用符(")で囲んで指定することを推奨します。
認可識別子の指定規則の詳細については,「6.1.4 名前の指定」を参照してください。
-
- ●削除動作
-
削除動作::={CASCADE|RESTRICT}
次のどちらかの条件を満たす場合に,HADBユーザを削除するかどうかを指定します。
-
削除対象のHADBユーザが,スキーマを所有している場合
-
削除対象のHADBユーザが,ほかのHADBユーザにアクセス権限を付与している場合
削除動作の各指定の説明を次の表に示します。
削除動作の指定
説明
ほかのスキーマのビュー表の扱い
ほかのスキーマの外部キーの扱い
削除動作の指定を省略した場合
次のどちらかの条件を満たす場合でも,HADBユーザを削除します。
-
削除対象のHADBユーザが,スキーマを所有している場合
-
削除対象のHADBユーザが,ほかのHADBユーザにアクセス権限を付与している場合
DROP USER文を実行した場合,削除対象のHADBユーザが所有しているスキーマも削除されます。
また,ほかのHADBユーザに付与したアクセス権限がすべて取り消されます。さらに,取り消されたアクセス権限のすべての依存権限が取り消されます。
DROP USER文の実行によって削除される表に依存するビュー表(ほかのスキーマのビュー表)が無効化されます。
DROP USER文の実行によって削除される表を被参照表とする外部キー(ほかのスキーマの外部キー)も削除されます。
CASCADEを指定した場合
DROP USER文の実行によって削除される表に依存するビュー表(ほかのスキーマのビュー表)も削除されます。
RESTRICTを指定した場合
次のどちらかの条件を満たす場合は,DROP USER文をエラーにします。
-
削除対象のHADBユーザが,スキーマを所有している場合
-
削除対象のHADBユーザが,ほかのHADBユーザにアクセス権限を付与している場合
DROP USER文がエラーになるため,ほかのスキーマのビュー表に影響はありません。
DROP USER文がエラーになるため,ほかのスキーマの外部キーに影響はありません。
-
(3) 実行時に必要な権限
DROP USER文を実行する場合,DBA権限およびCONNECT権限が必要になります。
(4) 規則
-
自分以外のHADBユーザを削除できます。
-
データベース認証を使用し,かつDBA権限およびCONNECT権限を持つHADBユーザが最低1人必要です。そのため,このようなHADBユーザが1人しかいない場合,そのHADBユーザを削除することはできません。
-
HADBサーバに接続中の認可識別子のHADBユーザは削除できません。
-
削除されたHADBユーザが,ほかのHADBユーザにDBA権限,CONNECT権限,またはスキーマ定義権限を与えていても,それらの権限は取り消されません。
-
削除対象のHADBユーザが,ほかのHADBユーザにアクセス権限を付与していた場合,付与したアクセス権限はすべて取り消されます。さらに,取り消されたアクセス権限の依存権限も取り消されます。そのため,アクセス権限の取り消しに伴い,ビュー表や,参照制約に影響を及ぼすおそれがあります。詳細については,「3.17.2 アクセス権限の取り消し」の「(4) 規則」を参照してください。
-
監査権限を持っているHADBユーザを削除することはできません。監査権限を持っているHADBユーザを削除する場合は,監査管理権限を持っているHADBユーザに,削除対象のHADBユーザの監査権限を取り消してもらってから,そのHADBユーザを削除してください。
-
DBエリア暗号化機能を使用している場合,暗号管理権限を持っているHADBユーザが最低1人必要です。そのため,暗号管理権限を持っているHADBユーザが1人しかいない場合,そのHADBユーザを削除することはできません。
(5) 例題
- 例題1
-
HADBユーザADBUSER01を削除します。
DROP USER "ADBUSER01" CASCADE
- 例題2
-
HADBユーザADBUSER01を削除します。ただし,ADBUSER01がスキーマを所有している場合は,DROP USER文をエラーにします。
DROP USER "ADBUSER01" RESTRICT