ALTER TYPE

目的

オブジェクト型はPL/SQLを使用して定義されます。このため、この項では一般的な情報について説明します。構文およびセマンティクスの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。

ALTER TYPE文を使用すると、メンバー属性またはメソッドを追加または削除できます。オブジェクト型の既存のプロパティ(FINALまたはINSTANTIABLE)、または型のスカラー属性も変更できます。

この文を使用すると、新しいオブジェクト・メンバーのサブプログラム仕様を追加することによって、型の仕様部または本体を再コンパイルしたり、オブジェクト型の仕様を変更することができます。

前提条件

オブジェクト型が自分のスキーマ内にあり、CREATE TYPECREATE ANY TYPE権限を持っている必要があります。または、ALTER ANY TYPEシステム権限が必要です。

構文

alter_type::=

(alter_type_clause: この句の構文の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。)

セマンティクス

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開発ガイド』を参照してください。