Ver Mensaje Individual
  #3  
Antiguo 23-03-2005
Avatar de jwmoreira
jwmoreira jwmoreira is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Reputación: 21
jwmoreira Va por buen camino
Gracias Startkill, tenía algo parecido pero no funcionaba, asi que no me quedo otra que mostrar los resultados como campos de returns y pude comprobar u par de fallitas quedando de la siguiente manera:

Código SQL [-]
CREATE PROCEDURE AA02
AS
DECLARE VARIABLE XCODIGO CHAR(3);
DECLARE VARIABLE XCOD2 CHAR(3);
DECLARE VARIABLE XNUMBER INTEGER;
begin
  for select fcodigo, fnumber from aa1 into :xcodigo, :xnumber do begin
      xcod2='';
      select fcodigo from aa2 where fcodigo=:xcodigo into :xcod2;
      if (:xcod2 = '' ) then
          insert into aa2 (fcodigo, fnumber) values (:XCODIGO, :xnumber);
      else
          update aa2 set fnumber=:xnumber where fcodigo=:xcodigo;
      suspend;
  end
end
Cuando no encuentra te devuelve NULL y al preguntar:
Código SQL [-]
if(:xcod2<>:xcodigo) then
no entraba, y el suspend debe ir dentro del begin-end.

Saludos,

Jorge.

PD:Puedes ayudarme con el siguiente hilo:
http://www.clubdelphi.com/foros/showthread.php?t=19537
Responder Con Cita