ユーザー定義データ型は、組み込みデータ型や他のユーザー定義データ型をオブジェクト型の構成要素として使用し、アプリケーションにおけるデータの構造と動作をモデル化します。このセクションでは、OceanBaseデータベースの現在のバージョンでサポートされているユーザー定義データ型について説明します。
オブジェクト型
オブジェクト型は、アプリケーションが処理する現実世界のエンティティ(例:調達注文)の抽象化です。オブジェクト型はスキーマオブジェクトとして、以下の3つの部分で構成されます:
名前:そのスキーマ内のオブジェクト型を一意に識別するものです。
プロパティ:組み込み型または他のユーザー定義型です。プロパティは現実世界のエンティティの構造をモデル化します。
メソッド:PLで記述され、データベースに格納された関数またはストアドプロシージャです。メソッドにより、アプリケーションは現実世界のエンティティに対して操作を実行できます。
配列
配列は、順序付けられた一連のデータ要素です。指定された配列のすべての要素は同じデータ型を持ちます。各要素にはインデックスがあり、それはその要素が配列内における位置に対応する数字です。
配列の要素数が配列のサイズです。配列のサイズは可変であるため、Varrayと呼ばれます。配列を宣言する際には、最大サイズを指定する必要があります。
配列を宣言しても、その時点では領域は割り当てられません。代わりに、以下のシナリオで使用できる型が定義されます:
オブジェクト型のプロパティ
PL変数、パラメータ、または関数の戻り値の型
ネスト表
ネスト表型は、順序のない要素の集合をモデル化します。要素は組み込み型またはユーザー定義型です。ネスト表は単一表として使用でき、オブジェクト型の場合は複数表としても使用できます。オブジェクト型の各プロパティは1列に対応します。
ネスト表の定義では領域は割り当てられません。型が定義され、それを使用して以下を宣言できます:
オブジェクト型のプロパティ
PL変数、パラメータ、または関数の戻り値の型
カスタム型の詳細については、ユーザー定義サブタイプを参照してください。