Hitachi

Hitachi Advanced Data Binder SQLリファレンス


3.12.1 DROP SCHEMA文の指定形式および規則

スキーマを削除します。

スキーマを削除した場合,表,インデクス,外部キーは,次のように影響を受けます。

〈この項の構成〉

(1) 指定形式

DROP SCHEMA文::=DROP SCHEMA 〔スキーマ名〕 〔削除動作削除動作::={CASCADE|RESTRICT}

(2) 指定形式の説明

スキーマ名

削除するスキーマのスキーマ名を指定します。スキーマ名を省略した場合,DROP SCHEMA文を実行したHADBユーザの認可識別子が仮定されます。

スキーマ名の指定規則については,「6.1.5 名前の修飾」の「(1) スキーマ名の指定形式」を参照してください。

なお,スキーマ名ALLHADBMASTER,およびPUBLICは指定できません。

削除動作
削除動作::={CASCADE|RESTRICT}

削除対象のスキーマに表またはインデクスが定義されている場合に,スキーマを削除するかどうかを指定します。削除動作の各指定の説明を次の表に示します。

削除動作の指定

説明

ほかのスキーマのビュー表の扱い

ほかのスキーマの外部キーの扱い

削除動作の指定を省略した場合

削除対象のスキーマに表またはインデクスが定義されている場合でも,スキーマを削除します。この場合,スキーマに定義されている表およびインデクスも削除されます。

DROP SCHEMA文の実行によって削除される表に依存するビュー表(ほかのスキーマのビュー表)が無効化されます。

DROP SCHEMA文の実行によって削除される表を被参照表とする外部キー(ほかのスキーマの外部キー)も削除されます。

CASCADEを指定した場合

DROP SCHEMA文の実行によって削除される表に依存するビュー表(ほかのスキーマのビュー表)も削除されます。

RESTRICTを指定した場合

削除対象のスキーマに表またはインデクスが定義されている場合は,DROP SCHEMA文をエラーにします。

DROP SCHEMA文がエラーになるため,ほかのスキーマのビュー表に影響はありません。

DROP SCHEMA文がエラーになるため,ほかのスキーマの外部キーに影響はありません。

(3) 実行時に必要な権限

DROP SCHEMA文を実行する場合,CONNECT権限およびスキーマ定義権限が必要になります。

(4) 規則

  1. 自分(HADBサーバに接続中の認可識別子のHADBユーザ)が所有しているスキーマだけを削除できます。ほかのHADBユーザが所有しているスキーマは削除できません。例えば,認可識別子にADBUSER01を指定してadbsqlコマンドを実行した場合,DROP SCHEMA文で削除できるスキーマはADBUSER01のスキーマだけです。

  2. スキーマを削除した場合,次のコスト情報も削除されます。

    • スキーマに定義されている表のコスト情報

    • スキーマに定義されているインデクスのコスト情報

  3. スキーマを削除した場合,そのスキーマ内の表に対するアクセス権限を持っているすべてのHADBユーザから,そのアクセス権限が取り消されます。アクセス権限が取り消された場合,ビュー表や,参照制約に影響を及ぼすおそれがあります。詳細については,「3.17.2 アクセス権限の取り消し」の「(4) 規則」を参照してください。

(5) 例題

例題1

スキーマ名ADBUSER01のスキーマを削除します。

DROP SCHEMA "ADBUSER01" CASCADE
例題2

スキーマ名ADBUSER01のスキーマを削除します。ただし,スキーマに表またはインデクスが定義されている場合は,DROP SCHEMA文をエラーにします。

DROP SCHEMA "ADBUSER01" RESTRICT