ADMIN_DROP_SCHEMA プロシージャー - 特定のスキーマとそのオブジェクトのドロップ

ADMIN_DROP_SCHEMA プロシージャーは、特定のスキーマと、その中に含まれているすべてのオブジェクトをドロップするために使用されます。

構文

構文図を読む構文図をスキップするADMIN_DROP_SCHEMA(schema,dropmode,errortabschema,errortab)

スキーマは SYSPROC です。

プロシージャー・パラメーター

schema
ドロップされるスキーマの名前を指定する、タイプ VARCHAR(128) の入力引数。 名前は、大文字で指定しなければなりません。
dropmode
将来の使用のために予約済みであり、NULL に設定する必要があります。
errortabschema
ドロップできなかったオブジェクトのエラー情報を入れる表のスキーマ名を指定する、タイプ VARCHAR(128) の入出力引数。この名前は大文字小文字が区別されます。ADMIN_DROP_SCHEMA プロシージャーがユーザーのためにこの表を SYSTOOLSPACE 表スペースに作成します。エラーが生じなかった場合、このパラメーターの出力は NULL です。
errortab
ドロップできなかったオブジェクトのエラー情報を入れる表の名前を指定する、タイプ VARCHAR(128) の入出力引数。この名前は大文字小文字が区別されます。ADMIN_DROP_SCHEMA プロシージャーがユーザーのためにこの表を SYSTOOLSPACE 表スペースに作成します。この表は、プロシージャーを呼び出したユーザー ID によって所有されます。エラーが生じなかった場合、このパラメーターの出力は NULL です。表が作成できなかった場合、または既に存在する場合には、プロシージャー操作は失敗し、エラー・メッセージが戻されます。ADMIN_DROP_SCHEMA を呼び出した後、ユーザーは表をクリーンアップしなければなりません。つまり、SYSTOOLSPACE で表が占めているスペースを取り戻すためには、表をドロップする必要があります。
表 1. ADMIN_DROP_SCHEMA errortab の形式
列名 データ・タイプ 説明
OBJECT_SCHEMA VARCHAR(128) object_schema - オブジェクト・スキーマ・モニター・エレメント
OBJECT_NAME VARCHAR(128) object_name - オブジェクト名モニター・エレメント
OBJECT_TYPE VARCHAR(30) objtype - オブジェクト・タイプ・モニター・エレメント
SQLCODE INTEGER エラー SQLCODE。
SQLSTATE CHAR(5) エラー SQLSTATE。
ERROR_TIMESTAMP TIMESTAMP ドロップ・コマンドが失敗した時刻。
STATEMENT CLOB(2 M) 失敗したオブジェクトの DDL。
DIAGTEXT CLOB(2 K) 失敗したドロップ・コマンドのエラー・メッセージ・テキスト。

許可

以下のいずれかの権限が必要です。
  • ADMIN_DROP_SCHEMA プロシージャーに対する EXECUTE 特権
  • DATAACCESS 権限
  • DBADM 権限
  • SQLADM 権限
さらに、このプロシージャーを呼び出すユーザーには、削除対象のすべてのオブジェクトに対するドロップ権限が必要です。

デフォルトの PUBLIC 特権

制限のないデータベースでは、このプロシージャーが自動的に作成されると、EXECUTE 特権が PUBLIC に付与されます。

CALL SYSPROC.ADMIN_DROP_SCHEMA('SCHNAME', NULL, 'ERRORSCHEMA', 'ERRORTABLE')
以下はこのプロシージャーの出力例です。
Value of output parameters
--------------------------
Parameter Name : ERRORTABSCHEMA
Parameter Value : ERRORSCHEMA <-- error!

Parameter Name : ERRORTAB
Parameter Value : ERRORTABLE <-- error!

Return Status = 0
戻り状況は、内部エラーが検出された場合 (SYSTOOLSPACE が存在しないなど) のみ、0 ではありません。
エラーは、エラー表の照会によってチェックできます。
SELECT * FROM ERRORSCHEMA.ERRORTABLE

使用上の注意

  • ドロップするオブジェクトに別のスキーマ内のオブジェクトが従属している場合、デフォルトの DROP ステートメントのセマンティクスが適用されます。
  • このプロシージャーは、以下のオブジェクトのドロップはサポートしません。
    • 索引拡張
    • ニックネーム
    • パッケージ
    • 型付き表
    • 配列タイプ
    • ユーザー定義の構造化タイプ (およびそれらのトランスフォーム関数)
    • 型付きビュー
    • JAR (Java™ ルーチン・アーカイブ)
    • ステージング表
    • XSR オブジェクト
  • ドロップされるスキーマ内にこれらのオブジェクトのいずれかが存在する場合、そのオブジェクトもそのスキーマもドロップされず、オブジェクトがドロップされなかったことを示す項目がエラー表に追加されます。
  • このプロシージャーを操作するには、SYSTOOLSPACE 表スペースが存在していることが必要です。この表スペースは、ADMIN_DROP_SCHEMA プロシージャーが使用するメタデータと、このプロシージャーによって戻されるエラー表を保管するために使用されます。表スペースが存在しない場合は、エラーが戻されます。