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