スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス

[目次][索引][前へ][次へ]

DROP SCHEMAスキーマ削除

機能

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

使用権限

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

DBA権限を持つユーザ
他ユーザのスキーマを削除できます。

形式

 
 DROP SCHEMA AUTHORIZATION 認可識別子〔WITH PROGRAM
 

オペランド

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

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

共通規則

  1. 指定した認可識別子のスキーマ内のすべての実表,ビュー表(パブリックビューも含む),外部表,インデクス,外部インデクス,コメント,アクセス権限,ルーチン(DROP SCHEMAで指定した認可識別子が定義したパブリック手続き,パブリック関数を含む),トリガ,抽象データ型,インデクス型,及び順序数生成子が削除されます。
  2. WITH PROGRAMを指定しても,指定したスキーマ内の抽象データ型,関数,手続き,トリガ,及び順序数生成子を使用する,関数,手続き,トリガ,及び順序数生成子の有効な他ユーザのSQLオブジェクトがあると,そのスキーマは削除できません。
  3. 指定したスキーマ内の関数を使用する,他ユーザのビュー表,又は他ユーザが定義したパブリックビューがある場合,そのスキーマは削除できません。
  4. スキーマ内の抽象データ型を使用する,他ユーザの表又はインデクスがある場合,そのスキーマは削除できません。
  5. 次のような場合,Java手続き中からDROP SCHEMAは実行できません。
    • 実行中のSQLオブジェクトが無効になる場合,又は削除される場合
    • 実行中のJava手続きが削除される場合
  6. 指定したスキーマ内の表,インデクス,及び表に定義しているLOB列,LOB属性を含む抽象データ型の列を,インナレプリカ機能を適用しているRDエリアに格納している場合,ある条件を満たしていれば削除ができます。インナレプリカ機能を使用している場合のDROP SCHEMAの実行条件については,マニュアル「インナレプリカ機能 HiRDB Staticizer Option Version 8」を参照してください。
  7. 指定したスキーマ内に改竄防止表があり,かつその改竄防止表に行がある場合,そのスキーマは削除できません。
  8. DBA権限を持つユーザは監査人のスキーマを削除できますが,監査人のスキーマ内に監査証跡表がある場合は監査人のスキーマを削除できません。

留意事項

  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オブジェクトを再作成しておく必要があります。

使用例

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

 
    DROP SCHEMA
        AUTHORIZATION USER1