La función del campo FOR evalúa una expresión y asigna un valore resultante TRUE, FALSE o UNKNOWN
FOR permite escribir una expresión que permite la repetición de un campo de repetición en todas las instancias. Para cada instancia, procesa una expresión booleana y compara los resultados.
FOR ALL Body.Invoice.Purchases."Item"[] AS I (I.Quantity <= 50)
En algunos casos esta sintaxis parece innecesario ya que la información puede obtenerse en el contexto, pero esto se hace por motivos de coherencia con otras partes de la sintaxis.
ASclause asocia el nombre I de la referencia de campo a la instancia actual del campo de repetición. Esto es parecido al concepto de clase del repetidor utilizado en algunos lenguajes orientados a objetos, como C++. La expresión entre paréntesis un predicado que se evalúa para cada instancia del campo Item.
FOR ANY Body.Invoice.Purchases."Item"[] AS I (I.Title = 'El compañero XML'),el subpredicado se evalúa como TRUE. No obstante, la siguiente expresión devuelve FALSE:
FOR ANY Body.Invoice.Purchases."Item"[] AS I (I.Title = 'Elemental C')debido a que Elemental C no está incluido en esta factura. Si en esta instancia algunos de los artículos de la factura no incluyen un campo de título del libre, el subpredicado devolverá UNKNOWN, y el predicado cuantificado devolverá el valor UNKNOWN.
FOR ANY Body.Invoice.Purchases."Item"[] AS I (I.Book IS NOT NULL AND I.Book.Title = 'Elemental C')El predicado IS NOT NULL asegura que si un campo Item no contiene un valor FALSE de Book, se devolverá un valore FALSE desde el subpredicado.
Conceptos relacionados
ESQL
Tareas relacionadas
Desarrollo de ESQL
Acceso a varias ocurrencias desconocidas de un elemento
Referencia relacionada
Preferencia de sintaxis
Mensaje de ejemplo
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ak18490_ |