versión 11.2 (Modificado)
ORDER BY FORMULA (tabla{; expresion{; > o <}}{; expresion2; > o <2; ...; expresionN; > o <N})
Parámetro | Tipo | Descripción | |
tabla | Tabla | Tabla para la cual ordenar la selección de registros | |
expresion | Fórmula de ordenación de los registros | ||
(puede ser de tipo Alfanumérico, Real, Entero, | |||
Entero largo, Fecha, Hora o Booleano) | |||
> o < | Sentido de la ordenación para cada nivel: | ||
> orden cresciente, u | |||
< orden decreciente |
Descripción
ORDER BY FORMULA ordena (reordena) los registros de la selección actual de tabla para el proceso actual. Una vez efectuada la ordenación, el primer registro de la nueva selección actual se convierte en el nuevo registro actual.
Note que debe especificar tabla. No puede utilizar una tabla por defecto.
Puede ordenar la selección en uno o varios niveles. Para cada nivel de ordenación, usted pasa una expresión en expresion y un criterio de ordenación en > o <. Si pasa el símbolo "mayor que" (>) el orden es creciente. Si pasa el simbolo "menor que " (<) el orden es decreciente. Si no especifica el criterio de ordenación, el orden por defecto es creciente.
El parámetro expresion puede ser de tipo Alfa, Real (Numérico), Entero, Entero largo, Fecha, Hora o Booleano.
Sin importar la manera en que se defina una ordenación, si la operación de ordenación va a tomar cierto tiempo, 4D muestra automáticamente un mensaje que contiene un termómetro de progreso. Estos mensajes pueden ser activados y desactivados utilizando los comandos MESSAGES ON y MESSAGES OFF. Si se muestra el termómetro de progresión, el usuario puede hacer clic en el botón Detener para interrumpir la ordenación. Si la ordenación se completa correctamente, OK toma el valor 1. De lo contrario, si la ordenación se interrumpe, OK toma el valor 0 (cero).
4D Server: A partir de la versión 11 de 4D Server, este comando se ejecuta en el servidor, lo cual optimiza su ejecución. Note que cuando las variables son llamadas directamente en la expresión, la ordenación se calcula con el valor de la variable en el equipo cliente.
Por otra parte, este principio no aplica a las fórmulas utilizando métodos que, en sí mismos, llamen variables (los valores de las variables se evalúan en el servidor). En este contexto, puede ser recomendable utilizar el atributo del método "Execute on server" que permite ejecutar un método en el servidor mientras pasa los parámetros (variables) (ver el Manual de Diseño).
En las versiones anteriores de 4D Server, este comando se ejecutaba en los equipos clientes. Por compatibilidad, este funcionamiento se conserva en las bases de datos convertidas a versión 11. Una preferencia de compatibilidad y un selector del comando SET DATABASE PARAMETER permiten adoptar el funcionamiento de la versión 11 (ejecución en el servidor) en estas bases de datos.
Ejemplo
Este ejemplo ordena los registros de la tabla [Personas] en orden descendente, basado en la longitud del apellido de cada persona. El registro de la persona con el apellido más largo será el primer registro de la selección actual:
ORDER BY FORMULA ([Personas]; Length([Personas]Apellido);<)
Ver también