ネームスペースの削除

ネームスペースを削除できるのは、DROP_ANY_NAMESPACE権限が付与されていて、ネームスペースに関連付けられた表がない場合のみです。また、適切な権限があることも必要です。

ネームスペースを削除するには、次のようにします。
DROP NAMESPACE [IF EXISTS] namespace_name [CASCADE] 

DROP NAMESPACEでCASCADEオプションを使用すると、アクティビティをNAMESPACE内の表と他のオブジェクトに拡張できます。

ネームスペースの削除は原子的操作ではなく、次のステップを実行します。
  • 最初に、ネームスペースを削除する権限があることを確認します。権限がある場合は続行します。

  • 権限がない場合は、エラーが発生してプロセスを停止します。

  • 権限が付与されていて、CASCADEが指定されていない場合は、表またはネームスペース内のその他のオブジェクトをチェックします。オブジェクトが存在しない場合、ネームスペースを削除します。

  • ネームスペース内に表またはその他のオブジェクトが存在する場合は、エラーが発生してプロセスを停止します。

  • ネームスペースを削除する権限があり、CASCADEが指定されている場合、この文はネームスペースを削除して、すべての表、表に関連する索引および表権限を削除します。

注意:

デフォルトのネームスペースsysdefaultは削除できません。