ALTER TYPE
目的
オブジェクト型はPL/SQLを使用して定義されます。このため、この項では一般的な情報について説明します。構文およびセマンティクスの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
ALTER
TYPE
文を使用すると、メンバー属性またはメソッドを追加または削除できます。オブジェクト型の既存のプロパティ(FINAL
またはINSTANTIABLE
)、または型のスカラー属性も変更できます。
この文を使用すると、新しいオブジェクト・メンバーのサブプログラム仕様を追加することによって、型の仕様部または本体を再コンパイルしたり、オブジェクト型の仕様を変更することができます。
前提条件
オブジェクト型が自分のスキーマ内にあり、CREATE
TYPE
かCREATE
ANY
TYPE
権限を持っている必要があります。または、ALTER
ANY
TYPE
システム権限が必要です。
構文
alter_type::=
(alter_type_clause
: この句の構文の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。)
セマンティクス
IF EXISTS
IF EXISTS
は、既存の表を変更する場合に指定します。
ALTER VIEW
にIF NOT EXISTS
を指定すると、ORA-11544: Incorrect IF EXISTS clause for ALTER/DROP statement
が発生します。
schema
型が含まれているスキーマを指定します。schema
を指定しない場合、この型は現行のスキーマ内にあるとみなされます。
type_name
オブジェクト型、ネストした表型またはVARRAY型の名前を指定します。
type_nameの制限事項
エディション化されたオブジェクト型を進化させることはできません。次のいずれかに該当する場合は、ORA-22348が発生してALTER
TYPE
文は失敗します。
-
typeがエディション化されたオブジェクト型であり、
ALTER
TYPE
文にtype_compile_clause
がない。ALTER
TYPE
文は、エディション化されたオブジェクト型の再コンパイルには使用できますが、他の目的には使用できません。 -
typeに依存するエディション化されたオブジェクト型が存在し、
ALTER
TYPE
文にCASCADE
句がある。
type_compile_clause
およびCASCADE
句の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
alter_type_clause
この句の構文とセマンティクスの詳細およびオブジェクト型の作成とコンパイルの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
EDITIONABLE | NONEDITIONABLE
この句を使用すると、schema
のスキーマ・オブジェクト・タイプTYPE
のエディショニングが後で有効化されたときに、その型をエディション・オブジェクトにするか非エディション・オブジェクトにするかを指定できます。デフォルトは、EDITIONABLE
です。エディション・オブジェクトと非エディション・オブジェクトの変更の詳細は、『Oracle Database開発ガイド』を参照してください。