Hitachi

Hitachi Advanced Data Binder SQLリファレンス


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) 規則

  1. 自分以外のHADBユーザを削除できます。

  2. データベース認証を使用し,かつDBA権限およびCONNECT権限を持つHADBユーザが最低1人必要です。そのため,このようなHADBユーザが1人しかいない場合,そのHADBユーザを削除することはできません。

  3. HADBサーバに接続中の認可識別子のHADBユーザは削除できません。

  4. 削除されたHADBユーザが,ほかのHADBユーザにDBA権限,CONNECT権限,またはスキーマ定義権限を与えていても,それらの権限は取り消されません。

  5. 削除対象のHADBユーザが,ほかのHADBユーザにアクセス権限を付与していた場合,付与したアクセス権限はすべて取り消されます。さらに,取り消されたアクセス権限の依存権限も取り消されます。そのため,アクセス権限の取り消しに伴い,ビュー表や,参照制約に影響を及ぼすおそれがあります。詳細については,「3.17.2 アクセス権限の取り消し」の「(4) 規則」を参照してください。

  6. 監査権限を持っているHADBユーザを削除することはできません。監査権限を持っているHADBユーザを削除する場合は,監査管理権限を持っているHADBユーザに,削除対象のHADBユーザの監査権限を取り消してもらってから,そのHADBユーザを削除してください。

  7. DBエリア暗号化機能を使用している場合,暗号管理権限を持っているHADBユーザが最低1人必要です。そのため,暗号管理権限を持っているHADBユーザが1人しかいない場合,そのHADBユーザを削除することはできません。

(5) 例題

例題1

HADBユーザADBUSER01を削除します。

DROP USER "ADBUSER01" CASCADE
例題2

HADBユーザADBUSER01を削除します。ただし,ADBUSER01がスキーマを所有している場合は,DROP USER文をエラーにします。

DROP USER "ADBUSER01" RESTRICT