Der Datentyp ROW beinhaltet eine Baumstruktur. Eine Zeile in einer Datenbank ist ein bestimmter Baumstrukturtyp, jedoch ist der Datentyp ROW nicht auf die Speicherung von Daten aus Datenbankzeilen beschränkt.
In einer Datenbank stellt eine Zeile eine feste, geordnete skalare Wertegruppe dar. Bei einem skalaren Wert handelt es sich um einen einzelnen Wert oder eine Zeichenfolge.
Root Row
Teilenummer = 1
Beschreibung = 'Schoko-Riegel'
Preis = 0,30
Row
Teilenummer = 2
Beschreibung = 'Keks'
Preis = 0,35
Row
Teilenummer = 3
Beschreibung = 'Frucht'
Preis = 0,42
In diesem Beispiel enthält Root drei Elemente, alle mit der Bezeichnung "Row". Jedes dieser Elemente enthält wiederum drei Elemente mit unterschiedlichen Bezeichnungen und Werten. Dieses Diagramm beschreibt sowohl eine Instanz des ESQL-Datentyps 'ROW' (also eine Baumstruktur) als auch den Inhalt einer Datenbanktabelle.
ROW ist ein normaler Datentyp. ROW-Variablen können wie INTEGER- oder CHARACTER-Variablen mit der DECLARE-Anweisung erstellt werden. Es gibt auch ein allgemeineres Konzept für den Datentyp ROW. Im Beispiel oben ist Root das übergeordnete Element der Variablen ROW. Bei den "Row"-Elementen handelt es sich zwar nicht um die übergeordneten Elemente von ROW-Variablen, sie sind aber die übergeordneten Elemente von Unterstrukturen. Viele ESQL-Operationen (insbesondere die SELECT-Funktion) arbeiten mit dem allgemeinen Konzept von ROW und können für gesamte Baumstrukturen oder Teile davon ausgeführt werden.
Für den Datentyp LIST besteht ebenso ein allgemeineres Konzept. Die Elemente mit der Bezeichnung "Row" können als Liste gesehen werden. Einige ESQL-Operationen (insbesondere die SELECT-Funktion) arbeiten mit diesem mehr allgemeinen Listenkonzept.
InputRoot und OutputRoot sind Beispiele für ROW-Variablen, die automatisch deklariert und in der Datenstruktur vorhanden sind und daher sofort verwendet werden können.