DROP
TYPE
文は、ADT、VARRAY
型またはネストした表型の仕様部および本体を削除します。
ここでのトピック
セマンティクス
schema
型が含まれているスキーマの名前。デフォルト: 自分のスキーマ。
type_name
削除するオブジェクト型、VARRAY型またはネストした表型の名前。型依存性または表依存性のない型のみ削除できます。
type_name
がスーパータイプの場合、FORCE
も指定しないかぎり、この文は正常に実行されません。FORCE
を指定すると、データベースによって、スーパータイプに依存するすべてのサブタイプが無効にされます。
type_name
が統計タイプの場合、FORCE
も指定しないかぎり、この文は正常に実行されません。FORCE
を指定すると、まずtype_name
に関連付けられたすべてのオブジェクトの関連付けが解除され、次にtype_name
が削除されます。
関連項目:
|
type_name
が統計タイプに関連付けられたADTの場合は、まずこの統計タイプからtype_name
の関連付けが解除され、次にtype_name
が削除されます。ただし、統計タイプを使用して統計情報が収集された場合は、データベースでこの統計タイプからtype_name
の関連付けを解除することはできないため、この文は正常に実行されません。
type_name
が索引タイプの実装タイプの場合は、索引タイプにINVALID
のマークが付けられます。
type_name
にパブリック・シノニムが定義されている場合は、このシノニムも削除されます。
FORCE
を指定しないかぎり、削除できるのは、依存性のないスタンドアロンのスキーマ・オブジェクトとして定義されている型のみです。これはデフォルトの動作です。
関連項目: CREATE INDEXTYPE文の詳細は、 『Oracle Database SQL言語リファレンス』 を参照してください。 |
FORCE
依存するデータベース・オブジェクトが型に含まれている場合でもその型を削除します。削除する型に依存するすべての列がデータベースによってUNUSED
とマークされ、それらの列へのアクセスができなくなります。
注意: FORCE を使用した、依存性のあるオブジェクト型の削除は行わないことをお薦めします。この操作はリカバリ不能であり、依存表または列のデータにアクセスできなくなる場合があります。 |
VALIDATE
この型のインスタンスがスーパータイプのいずれかの置換可能な列に格納されていることをデータベースによって確認できます。このようなインスタンスが検出されなかった場合、削除操作は完了します。
この句はサブタイプに対してのみ意味があります。明示的な型依存性または表依存性のないサブタイプを安全に削除するために、このオプションを使用することをお薦めします。
例
ADTの削除: 例 次の文は、ADT person_t
を削除します。このADTを作成する例については、「型階層の例」を参照してください。person_t
に依存するすべての列に、UNUSED
のマークが付けられ、アクセスできなくなります。
DROP TYPE person_t FORCE;