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