ROW データ・タイプはツリー構造を保持します。 データベースの行は特定のタイプのツリー構造ですが、ROW データ・タイプはデータベース行からのデータを保持するように制限されてはいません。
データベースでは、行はスカラー値の固定された順序セットになります。 スカラー は、単一のエンティティー値またはストリングとして定義されます。
Root
Row
PartNumber = 1
Description = 'Chocolate bar'
Price = 0.30
Row
PartNumber = 2
Description = 'Biscuit'
Price = 0.35
Row
PartNumber = 3
Description = 'Fruit'
Price = 0.42
この例では、Rootには 3 つのエレメントがあり、名前はすべて『Row』です。 個々のエレメントにも 3 つのエレメントがあり、それらのエレメントの名前と値は違います。 この図は、ESQL 行データ・タイプのインスタンス (つまりツリー構造) を示すと同時に、データベース表の内容も示しています。
ROW データ・タイプは通常のデータ・タイプです。DECLARE ステートメントを使用して、INTEGER 変数や CHARACTER 変数を作成するのと同じ方法で ROW 変数を作成できます。さらに一般的な ROW データ・タイプの概念もあります。上記の例では、Root は ROW 変数のルート・エレメントです。 個々の『Row』エレメントは、ROW 変数のルート・エレメントではありませんが、副構造のルート・エレメントです。 多数の ESQL 操作 (特に SELECT 関数) はこの ROW の一般概念を使用して行われ、ツリー全体でもツリーの一部でも同様の操作が行われます。
LIST データ・タイプの一般概念もあります。エレメント『Row』の集合はリストと見なされます。 一部の ESQL 操作 (特に SELECT) は、このリストの一般概念を使用して行われます。
自動的に宣言され、データ構造に存在して使用できるようになる ROW 変数の例としては、InputRoot や OutputRoot などがあります。