PLは、2種類の複合データ型を定義できます:コレクションとレコードです。レコードのコレクションや、コレクションを含むレコードを作成できます。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみ提供しています。
複合データ型は、内部メンバーを持つ値を格納します。複合変数全体をサブプログラムへのパラメータとして渡すことも、複合変数の内部メンバーに個別にアクセスすることもできます。内部メンバーはスカラーまたは複合型です。スカラーメンバーはスカラー変数に適用され、複合メンバーは同じ型を持つ複合変数に適用されます。
コレクションでは、内部メンバーは常に同じデータ型を持ち、これを要素と呼びます。variable_name(index) 構文を使用して、そのユニークなインデックスを通じてコレクション変数の各要素にアクセスできます。コレクション変数を作成するには、まずコレクション型を定義し、その型の変数を作成するか、%TYPE を使用して変数型を宣言することができます。
レコードでは、内部メンバーは異なるデータ型を持つことができ、これをフィールドと呼びます。variable_name.field_name 構文を使用して、名前に従ってレコード変数の各フィールドにアクセスできます。レコード変数を作成するには、まず RECORD 型を定義し、その型の変数を作成するか、%ROWTYPE または %TYPE を使用して変数型を宣言することができます。