O construtor ROW é uma função complexa utilizada explicitamente para gerar linhas de valores, que podem ser designados a campos em uma mensagem de saída.
Uma ROW consiste em uma seqüência de valores denominados. Quando designada a uma referência de campo, ela cria essa seqüência de valores denominados como campos filhos do campo referido. Uma ROW não pode ser designada a uma referência de campo de matriz.
SET OutputRoot.XML.Data = ROW('granary' AS bread, 'riesling' AS wine, 'stilton' AS cheese);produz:
<Dados> <pão>celeiro</pão> <vinho>riesling</vinho> <queijo>stilton</queijo> </Dados>
<Prova> <cerveja>5</cerveja> <vinho>12</vinho> <gin>40</gin> </Prova>o seguinte ESQL:
SET OutputRoot.XML.Data = ROW(InputBody.Proof.beer, InputBody.Proof.wine AS vin, (InputBody.Proof.gin * 2) AS special);produz o seguinte resultado:
<Dados> <cerveja>5</cerveja> <vinho>12</vinho> <especial>80</especial> </Dados>Como os valores neste caso são derivados de referências de campos que já possuem nomes, não é necessário fornecer explicitamente um nome para cada elemento da linha, mas você pode optar por isso.