モジュール内のオブジェクトのドロップ
モジュール内に定義されたオブジェクトが不要になった場合には、モジュールのドロップ・タスクを実行できます。 モジュール内の一部のオブジェクトだけが不要になった場合には、オプションで、これらのオブジェクトだけをドロップすることもできます。
始める前に
- モジュールが存在する必要があります。
- ALTER MODULE ステートメントを実行する権限を持っている必要があります。
このタスクについて
制約事項
制約事項については、- モジュールに関する制約事項を参照してください。
手順
タスクの結果
例
CREATE MODULE m @
ALTER MODULE m PUBLISH PROCEDURE B() @
ALTER MODULE m PUBLISH PROCEDURE A()
BEGIN
CALL B();
END @
ALTER MODULE m ADD PROCEDURE B() BEGIN END @ 以下のステートメントを実行することにより、プロシージャー B をドロップできます。ALTER MODULE m DROP PROCEDURE B @ステートメントが正常に実行されると、プロシージャー B がモジュール m からドロップされます。 従属オブジェクトであるプロシージャー A が参照するプロシージャー B は、もはや使用可能でないため、プロシージャー A は作動不能とマーク付けされます。 以下を実行することにより、m というモジュールに定義されたすべてのプライベート・オブジェクトをドロップできます。
ALTER MODULE m DROP BODY @ステートメントが正常に実行されると、
- モジュールに定義された公開プロシージャーの本体がドロップされます。 プロシージャー・プロトタイプの定義は残ります。
- モジュール専用のデータ・タイプとグローバル変数は、ドロップされます。 公開されるデータ・タイプとグローバル変数の定義は残ります。
- モジュールはドロップされません。 スキーマ内に引き続き定義されています。