用途
オブジェクト型はPL/SQLを使用して定義されます。このため、この項では一般的な情報について説明します。構文およびセマンティクスの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
CREATE
TYPE
文を使用すると、オブジェクト型、SQLJオブジェクト型、名前付きの可変配列(VARRAY)、ネストした表型または不完全なオブジェクト型の仕様部を作成できます。CREATE
TYPE
文およびCREATE
TYPE
BODY
文を使用してオブジェクト型を作成します。CREATE
TYPE
文では、オブジェクト型の名前、オブジェクトの属性、メソッドおよびその他のプロパティを指定します。CREATE
TYPE
BODY
文には、その型を実装するメソッドに対するコードが含まれます。
注意:
|
不完全型とは、フォワード型定義によって作成される型です。このオブジェクト型には名前はありますが、属性およびメソッドがないため、不完全といわれます。他の型からの参照が可能なため、互いに参照する型の定義に使用できます。ただし、不完全オブジェクト型を使用して表やオブジェクト列またはネストした表型の列を作成する場合は、型を完全に指定しておく必要があります。
関連項目:
|
前提条件
自分のスキーマ内に型を作成する場合は、CREATE
TYPE
システム権限が必要です。他のユーザーのスキーマ内に型を作成する場合は、CREATE
ANY
TYPE
システム権限が必要です。これらの権限は、明示的に取得することもロールを介して取得することもできます。
サブタイプを作成する場合は、UNDER
ANY
TYPE
システム権限またはスーパータイプに対するUNDER
オブジェクト権限が必要です。
型の所有者には、型定義内で参照する他のすべての型にアクセスするためのEXECUTE
オブジェクト権限が明示的に付与されている必要があります。または、EXECUTE
ANY
TYPE
システム権限が付与されている必要があります。所有者は、これらの権限をロールを介して取得することはできません。
型の所有者が、型にアクセスする権限を他のユーザーに付与する場合、所有者には、参照型に対するGRANT
OPTION
付きのEXECUTE
オブジェクト権限、またはADMIN
OPTION
付きのEXECUTE
ANY
TYPE
システム権限が必要です。これらの権限がないと、型の所有者は、型にアクセスする権限を他のユーザーに付与できません。
構文
型はPL/SQLを使用して定義されます。このため、このマニュアルの構文図ではSQLキーワードのみを示します。PL/SQLの構文、セマンティクスおよび例については、『Oracle Database PL/SQL言語リファレンス』を参照してください。
create_type::=
(plsql_source
については、『Oracle Database PL/SQL言語リファレンス』を参照してください。)