[firebase-br] If exists...else

Sérgio Alexandre Gianezini sergio_ag em terra.com.br
Ter Dez 8 16:39:16 -03 2009


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