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:
<Data> <bread>granary</bread> <wine>riesling</wine> <cheese>stilton</cheese> </Data>
<Proof> <beer>5</beer> <wine>12</wine> <gin>40</gin> </Proof>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:
<Data> <beer>5</beer> <vin>12</vin> <special>80</special> </Data>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.