[firebase-br] If exists...else

Douglas Silva forum_firebird em daunebr.com
Ter Dez 8 17:15:05 -03 2009


Me pareceu faltar um 'AND' no SELECT...




________________________________
From: Sérgio Alexandre Gianezini <sergio_ag em terra.com.br>
To: lista em firebase.com.br
Sent: Tue, December 8, 2009 4:39:16 PM
Subject: Re: [firebase-br] If exists...else

Oficialmente, não pode executar comandos assim, fora de uma stored proc... 
você pode, no entanto... usar "EXECUTE BLOCK" se for firebird 2.1+

EXECUTE BLOCK
AS
BEGIN

IF EXISTS( SELECT * FROM AR_SUC WHERE C_SUC = 1 C_ART = 0000470   ) THEN 
UPDATE AR_SUC SET K_SAL = K_SAL + 6 WHERE C_SUC = 1 and C_ART = '0000470   ' 
ELSE  INSERT INTO AR_SUC (C_SUC, C_ART, K_SAL) VALUES( 1,'0000470   ',6);

END;

E veja o comando "Update Or Insert Into", ele pode te ajudar, creio eu... 


Mais detalhes sobre a lista de discussão lista