Ver Mensaje Individual
  #3  
Antiguo 21-01-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Reputación: 20
Héctor Randolph Va por buen camino
Hola VRO!

Con respecto a esta consulta coincido en que es mejor hacerla directamente en SQL.

Ya que estás utilizando FireBird 1.5 puedes aprovechar la sintaxis de los
procedimientos almacenados para facilitarte este trabajo.

En la definición del procedimiento puedes declarar las variables y los parámetros,
utilizar sentencias IF THEN ELSE, WHILE , etc.

Un ejemplo:

Código SQL [-]
SET TERM!!;
CREATE PROCEDURE PRUEBA( param1 INTEGER, param2 VARCHAR(40))
AS
  DECLARE VARIABLE var1 INTEGER;
BEGIN
   SELECT 
     COUNT(clave)
   FROM tabla1
   WHERE clave=aram1;
   INTO :var1;/*Cuenta los registros y los almacena en var1*/
 
   IF (var1=0) THEN 
       INSERT INTO tabla1 (clave,nombre)
       VALUES (aram1,aram2);
  ELSE
      UPDATE tabla1 
      SET nombre=aram2
      WHERE clave=aram1;
  .
  .
  .
END!!
SET TERM;!!

Te recomiendo que busques información de los procedimientos almacenados en Firebird.

Un Saludo.
Responder Con Cita