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