![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
tu jefe te habra pedido que muestre los 10 primeros resgistros porque la consulta pude devolver una gran cantidad y esto saturaria la red.
dile a tu jefe que la mejor solucion es indicar un filtro mas exhaustivo, de manera que el conjunto sea menor. otra forma que se me ocurre, mediante un procedimiento almacenado: Código:
set term^;
create procedure CONSULTA returns(campo1, campo2, ..) as
declare variable cont integer;
begin
cont:=0;
FOR select campo1, campo2, .. from tabla into :campo1, :campo2, .. DO
begin
// aqui devuelve un registro
suspend;
// sale del bucle cuando supera los 10 registros
cont:=cont+1;
if cont>10 then break;
end;
end^
set term;^
Código:
select * from CONSULTA; posiblemente haya una forma mas sencilla de hacerlo. si encuentras alguna otra forma mas sencilla, nos lo comentas.
__________________
“Plantad la semilla de la avaricia en la infértil tierra de la estupidez y obtendreis la bella flor de la mierda” (Confucio) |
|
#2
|
|||
|
|||
|
Hola a todos,
Yo tengo un problema parecido, ¿no hay entonces ninguna forma que sustituya la clausula TOP por otro en interbase 7? yo lo que tengo es una consulta en la que sólo tienen que aparecer los últimos 10 o 15 registros de una tabla, el resto de los registros no me hacen falta. Muchas gracias Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :) |
|
#3
|
||||
|
||||
|
Hola.
Consulta la cláusula ROWS en la documentación. Se pone al final de la instrucción (no a continuación del SELECT como hace el TOP de SQL Server). Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#4
|
||||
|
||||
|
Cita:
lo que puedes hacer es lo siguiente: Código:
select campo1, campo2, ... from tabla order by campo_i DESC luego lo que tienes que hacer es recorrer estos registros: Código:
cont:=0; while not query.eof do begin // me traigo un registro query.next; // hago lo que tenga que hacer, como insertarlo en un TStringGrid .... // si supero los quince registros, me salgo del bucle cont:=cont+1; if cont>15 then break; end;
__________________
“Plantad la semilla de la avaricia en la infértil tierra de la estupidez y obtendreis la bella flor de la mierda” (Confucio) |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|