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 (以後同様) があります。