select, where, from, to

La instrucción select devuelve un array de registros (nid). Se puede combinar con las cláusulas where, from y to.

Ejemplo:

El ejemplo siguiente recupera los diez primeros nombres de la tabla Customer cuyo nombre contiene la letra «s»:

(select Customer where 'First name' like "s" from 0 to 9).'first name'

Cláusula where

El contenido de una cláusula where se ejecuta en el servidor.

  • Por eso no se pueden usar dentro de una cláusula where ciertas funciones, como alert o dialog.

From y To

Con from y to solo se devuelven los registros del índice 0 al 9.

  • Esta función resulta útil para recuperar los x primeros registros o para paginar los resultados de una consulta.

Bloque de ejecución

El bloque de ejecución es la parte que va después del punto, al final de la instrucción select. En el ejemplo anterior, el bloque de ejecución es 'first name'.

Un bloque de ejecución más complejo puede incluir variables o incluso instrucciones select adicionales. Igual que en las funciones, la última instrucción del bloque determina el tipo y el valor del array resultante.

Ejemplo:

El código siguiente produce un array de números con el total de ventas de cada cliente:

(select Customer where 'First name' like "s" from 0 to 9).
  (
   var a := id;
   var i := select invoice where customer = a;
      sum(i.TOTAL);
   )

Advertencia:

En los bloques de ejecución que acceden a otras tablas puede haber errores si el código se ejecuta en el servidor.

  • En esos casos, es preferible usar un bucle for i in select.