Hitachi

ノンストップデータベース HiRDB Version 10 SQLリファレンス


3.27.1 DROP SCHEMAの形式と規則

〈この項の構成〉

(1) 機能

スキーマ定義で定義したスキーマを削除します。

(2) 使用権限

スキーマの所有者

ユーザ自身のスキーマを削除できます。

DBA権限を持つユーザ

他ユーザのスキーマを削除できます。

(3) 形式

 DROP SCHEMA AUTHORIZATION 認可識別子〔WITH PROGRAM〕

(4) オペランド

(a) 認可識別子〔WITH PROGRAM〕

認可識別子

スキーマの所有者の認可識別子を指定します。

WITH PROGRAM

スキーマを削除するときに,指定したスキーマ内の実表,ビュー表,インデクス,抽象データ型,ルーチン,トリガ,及び順序数生成子を使用する,関数,手続き,及びトリガの有効な他ユーザのSQLオブジェクトを無効にしたいときに指定します。

WITH PROGRAMを省略した場合,スキーマ内の実表,ビュー表,インデクス,抽象データ型,手続き,トリガ,及び順序数生成子を使用する,関数,手続き,及びトリガの有効な他ユーザのSQLオブジェクトがあると,そのスキーマは削除できません。

(5) 共通規則

  1. 指定した認可識別子のスキーマ内のすべての実表,ビュー表(パブリックビューも含む),インデクス,コメント,アクセス権限,ルーチン(DROP SCHEMAで指定した認可識別子が定義したパブリック手続き,パブリック関数を含む),トリガ,抽象データ型,インデクス型,及び順序数生成子が削除されます。

  2. WITH PROGRAMを指定しても,指定したスキーマ内の抽象データ型,関数,手続き,トリガ,及び順序数生成子を使用する,関数,手続き,トリガ,及び順序数生成子の有効な他ユーザのSQLオブジェクトがあると,そのスキーマは削除できません。

  3. 指定したスキーマ内の関数を使用する,他ユーザのビュー表,又は他ユーザが定義したパブリックビューがある場合,そのスキーマは削除できません。

  4. スキーマ内の抽象データ型を使用する,他ユーザの表又はインデクスがある場合,そのスキーマは削除できません。

  5. 次のような場合,Java手続き中からDROP SCHEMAは実行できません。

    • 実行中のSQLオブジェクトが無効になる場合,又は削除される場合

    • 実行中のJava手続きが削除される場合

  6. インナレプリカ機能を使用している場合のDROP SCHEMAの実行条件については,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。

  7. 指定したスキーマ内に改竄防止表があり,かつその改竄防止表に行がある場合,そのスキーマは削除できません。

  8. DBA権限を持つユーザは監査人のスキーマを削除できますが,監査人のスキーマ内に監査証跡表がある場合は監査人のスキーマを削除できません。

  9. SQLセッション固有一時表を使用しているSQLセッション中で,使用中のSQLセッション固有一時表を含むスキーマは削除できません。

(6) 留意事項

  1. DROP SCHEMAは,OLTP下のX/Openに従ったUAPから指定できません。

  2. WITH PROGRAMを指定して関数,手続き,トリガ,及び順序数生成子の有効なSQLオブジェクトを無効にした場合,ディクショナリ表SQL_ROUTINE_RESOURCES中の無効となった関数,手続き,トリガ,及び順序数生成子の情報は削除されます。

  3. WITH PROGRAMを指定して無効にした関数,手続き,トリガ,及び順序数生成子の有効なSQLオブジェクトを実行するためには,ALTER ROUTINE,ALTER PROCEDURE,又はALTER TRIGGERを実行して,関数,手続き,トリガ,及び順序数生成子の有効なSQLオブジェクトを再作成しておく必要があります。

  4. 認可識別子に指定したユーザが,他ユーザに付与したスキーマ操作権限はすべて削除されます。

(7) 使用例

ユーザ(認可識別子:USER1)が持っているスキーマを削除します。

    DROP SCHEMA
        AUTHORIZATION USER1