ネームスペースの削除
ネームスペースを削除できるのは、DROP_ANY_NAMESPACE権限が付与されていて、ネームスペースに関連付けられた表がない場合のみです。また、適切な権限があることも必要です。
ネームスペースを削除するには、次のようにします。
DROP NAMESPACE [IF EXISTS] namespace_name [CASCADE]
DROP NAMESPACEでCASCADEオプションを使用すると、アクティビティをNAMESPACE内の表と他のオブジェクトに拡張できます。
ネームスペースの削除は原子的操作ではなく、次のステップを実行します。
-
最初に、ネームスペースを削除する権限があることを確認します。権限がある場合は続行します。
-
権限がない場合は、エラーが発生してプロセスを停止します。
-
権限が付与されていて、CASCADEが指定されていない場合は、表またはネームスペース内のその他のオブジェクトをチェックします。オブジェクトが存在しない場合、ネームスペースを削除します。
-
ネームスペース内に表またはその他のオブジェクトが存在する場合は、エラーが発生してプロセスを停止します。
-
ネームスペースを削除する権限があり、CASCADEが指定されている場合、この文はネームスペースを削除して、すべての表、表に関連する索引および表権限を削除します。
注意:
デフォルトのネームスペースsysdefault
は削除できません。