Il costruttore ROW è una funzione complessa utilizzata per generare in modo esplicito righe di valori che possono essere assegnati ai campi in un messaggio di output.
Una ROW è formata da una sequenza di valori indicati. Quando assegnata ad un riferimento di campo, crea tale sequenza di valori indicati come campi child del campo indicato. ROW non può essere assegnata ad un riferimento di campo di array.
SET OutputRoot.XML.Data = ROW('granary' AS bread, 'riesling' AS wine, 'stilton' AS cheese);produce:
<Data> <bread>granary</bread> <wine>riesling</wine> <cheese>stilton</cheese> </Data>
<Proof> <beer>5</beer> <wine>12</wine> <gin>40</gin> </Proof>Il seguente codice ESQL:
SET OutputRoot.XML.Data = ROW(InputBody.Proof.beer, InputBody.Proof.wine AS vin, (InputBody.Proof.gin * 2) AS special);produce il seguente risultato:
<Data> <beer>5</beer> <vin>12</vin> <special>80</special> </Data>Poiché i valori in questo caso sono derivati da riferimenti di campo che già hanno nomi, non è necessario fornire in modo esplicito un nome per ciascun elemento della riga, anche se questa operazione è possibile.