22 Votos

Firebird: SELECT con LIMIT

Pregunta de PC Control | 01/05/2021 a las 17:26

Estoy usando una base de datos de Firebird y me gustaría leer solo una parte del resultado de una consulta, no todos los registros. En MySQL, siempre he usado la palabra clave LIMIT para este propósito:

SELECT col1, col2 FROM tab LIMIT 10;
SELECT col1, col2 FROM tab LIMIT 20, 10;

En consecuencia, la primera declaración devolvería los primeros 10 registros de datos, la segunda consulta devolvería las filas 21 a 30.

Desafortunadamente, cuando utilizo la misma sintaxis en Firebird, aparece el siguiente mensaje de error:

SQLException
Context: Statement::Prepare
Message: isc_dsql_prepare failed
SQL error code = -104
Token unknown: LIMIT

Al interpretar esta línea de "Token unknown" (desconocido)", parece que Firebird no conoce la palabra "LIMIT" en absoluto. También eché un vistazo a la lista de palabras reservadas en Firebird y, de hecho, LIMIT no aparece allí.

No obstante, ¿existe alguna posibilidad de realizar algo como una consulta LIMIT en Firebird?

ResponderPositivoNegativo
1Mejor Respuesta3 Votos

Hay un "LIMIT" en Firebird, pero debe usar otra sintaxis allí.

En Firebird, las palabras clave FIRST y SKIP se utilizan para realizar una consulta limitada. Puede usar esas palabras así:

SELECT FIRST 10 col1, col2 FROM tab;
SELECT FIRST 10 SKIP 20 col1, col2 FROM tab;

La primera declaración corresponde a su primer ejemplo de MySQL y está leyendo los primeros 10 registros. La segunda declaración corresponde a su segundo ejemplo. Esta línea devuelve 10 conjuntos de datos después de que se hayan omitido 20 registros.

Como puede ver, el SKIP es opcional y se puede omitir en caso de que solo desee tener los primeros registros de datos del resultado sin omitir ningún dato.
02/05/2021 a las 18:35

ResponderPositivo Negativo
Responder

Temas Relacionados

PHP: Guardar Resultado de MySQL en Array

Información | 0 Comentarios

MySQL: Ordenar por Relevancia

Pregunta | 1 Respuesta

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.