データベース - IBM DB2 - スキーマを DROP する

 クラウディア
1. スキーマを DROP する① (失敗)
2. スキーマを DROP する②

1. スキーマを DROP する① (失敗)

 いったんつくったスキーマに所属するテーブルやらなにやらがあったら、まず、それをすべて DROP しないとスキーマ自体を DROP できないわけで。  テーブルやらなにやらの DROP にワイルドカードみたいなものが使えれば楽なのですが、そうでもなく。  結構大変な作業になるものです。  IBM DB2 では、スキーマ DROP 用のプロシージャーが用意されているということで…。  DB2 サーバが Windows上にあるものとして「DB2 コマンド・ウィンドウ - 管理者」で

C:\> db2 CONNECT TO データベース名
C:\> db2 CALL SYSPROC.ADMIN_DROP_SCHEMA('スキーマ名', NULL, 'ERRORSCHEMA', 'ERRORTABLE');
C:\> db2 DISCONNECT データベース名
 でうまくいくようです・・・。いや、失敗でした。うまく動作しませんでした。

2. スキーマを DROP する②

 しょうがないので「clpplus」で

SQL> DROP SCHEMA スキーマ名 RESTRICT;
 でドロップすることにしました。  もちろん、この場合、前項で示したように、スキーマをドロップする前にスキーマ所属のオブジェクトを全部ドロップする必要があります。