Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   cual es el codigo en sql (https://www.clubdelphi.com/foros/showthread.php?t=70573)

BetoAlonso 28-10-2010 23:26:09

cual es el codigo en sql
 
Saludos estimados foristas
estoy trasladando un codigo de foxpro dentro de un procedimiento almacenado y quisiera saber cual es su similitud en sql. trabaja con base de datos firebird

el codigo en fox es
Código:

sele tabla1
do while !eof()

  if (condicion)
    sele tabla1
    skip
    loop
  endif

  ...
  ...
  ...

end

gracias por su atencion

cloayza 29-10-2010 17:08:10

Te escribo algo de codigo para que veas como es.
Este ejemplo

El procedimiento spSuma, recibe un parametro llamado Filtro
y retorna los datos Dato1, Dato2 (Son campos de la tabla) y Dato3, que es un campo que se calcula en base a Dato1+Dato2.

Código SQL [-]
create procedure spSUMA (
--Declaracion de parametros enviados
--al procediemto almacenado
    Filtro integer, ...)
returns (
--Declaracion de variables de retorno
--del procedimiento
    Dato1 integer,
    Dato2 integer,
    Dato3 Integer;
    )
as
--Area de Declaracion de Variables locales...
declare variable Valor integer;
declare variable Letra char(1);
declare variable String varchar(100);

BEGIN
  FOR SELECT CAMPO1, CAMPO2
      FROM TABLA

      WHERE (CAMPO1>: Filtro)
      ORDER BY CAMPO2

      INTO : Dato1, : Dato2;
  DO
  BEGIN

       IF (NOT Dato1 IS NULL) THEN
          Dato1=0;

       IF (NOT Dato2 IS NULL) THEN
          Dato2=2;

       Dato3=Dato1 + Dato2;

       IF (Dato3>100) THEN
       BEGIN
              SELECT DATO3 FROM OTRA_SUMA
              WHERE (Condicion...)
              INTO :Dato3;
       END

       --Envia las variables de salida
       SUSPEND;
  END
END
Algo asi deberia ser, inclui algunas condiciones de validacion etc...

Espero te sirva...

BetoAlonso 29-10-2010 17:42:05

Muchas gracias cloayza lo revisare y vere si se adecua a lo que yo deseo.
:)


La franja horaria es GMT +2. Ahora son las 06:27:26.

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