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.
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. Jedes der "Row"-Elemente kann zwar nicht das übergeordnete Element einer ROW-Variablen sein, ist aber das übergeordnete Element 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, OutputRoot usw. sind Beispiele für ROW-Variablen, die automatisch deklariert und in die Brokerstruktur eingebunden werden und sofort verwendet werden können.