Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2005
VRO VRO is offline
Miembro
 
Registrado: abr 2004
Posts: 230
Poder: 21
VRO Va por buen camino
Post ¿Cláusula similar al Break para procedimientos almacenados?

Vereis tengo un procedimiento almacenado con Interbase 6.0 , lo que intento con él es sacar sólo 2 resultados de la consulta para cada campo clave, es decir,

Código:
1,....,0,0,...
 
5,....,2000,3000,....
5,...,2500,3500,....
.
.
10,....,2500,3500,....
10,....,2600,2000,....
.
.
15,....,2000,3000,...
15,....,1000,25000,....
.
para el numero 5 los 2 primeros resultados, para 10, para 15 y así sucesivamente con todos los números de contador que salgan en la consulta


él procedimiento de interbase es el siguiente:

Código:
 
cont=1;
 
FOR SELECT LECTURA
FROM LECTURAS
WHERE NUMERO=:NUMERO
AND FECHA<:HOY
ORDER BY FECHA DESC
INTO :LECT DO
BEGIN
   if (CONT=1) then
	   lect1=:lect;
   else
	  begin
		lect2=:lect;
	  end
 
	 cont=cont+1;
 
  if(cont>2) then
   begin
	   suspend;
	  break;
	end
END
os explico uun poquitín lo que hago, tengo una consulta a la que la paso un numero de contador(:numero) de una consulta anterior que no he especificado(lo que hace esta consulta es sacar los contadores que tengo con sus datos) y en esta saco las lecturas de esos contadores anteriores a la fecha actual. El cliente necesita saber las 2 leturas anteriores.

pero el break da error no es válido para interbase, con exit sólo me saca los 2 primeros del 5 y se sale del procedimiento, así que necesito algo similar al break.

Ahora lo que hago es sacar todas las lecturas anterioes y con el 'next' pasar de lecturas desde Delphi, pero tarda 14 segundos y me parece mucho tiempo.

Si alguien sabe la equivalencia de break en interbase u otra forma de hacer lo expuesto, se lo agradecería muchísimo.

Gracias de antemano.

PD: Espero haberme explicado con claridad, si alñguien no entiende lo expuesto ruego me lo comuniquen, ya saben uno lo tiene en la cabeza y le parece tan sencillo de explicar lo complicado es que le entiendan, jajajajaja

Última edición por VRO fecha: 07-06-2005 a las 12:46:12.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:35:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi