El constructor ROW es una función compleja que se utiliza para generar de forma explícita filas de valores que se pueden asignar a campos de un mensaje de salida.
ROW consta de una secuencia de valores con nombre. Cuando se asigna a una referencia de campo crea dicha secuencia de valores con nombre como campos hijo del campo al que se hace referencia. No se puede asignar ROW a una referencia de campo de matriz.
SET OutputRoot.XML.Data = ROW('granary' AS bread, 'riesling' AS wine, 'stilton' AS cheese);genera:
<Data> <bread>granary</bread> <wine>riesling</wine> <cheese>stilton</cheese> </Data>
<Proof> <beer>5</beer> <wine>12</wine> <gin>40</gin> </Proof>El ESQL siguiente:
SET OutputRoot.XML.Data = ROW(InputBody.Proof.beer, InputBody.Proof.wine AS vin, (InputBody.Proof.gin * 2) AS special);genera el resultado siguiente:
<Data> <beer>5</beer> <vin>12</vin> <special>80</special> </Data>Debido a que los valores en este caso se derivan de las referencias de campo que ya tienen nombres, no es necesario proporcionar de forma explícita un nombre para cada elemento de la fila, pero puede optar por hacerlo.