[firebase-br] If exists...else

Douglas Silva forum_firebird em daunebr.com
Ter Dez 8 17:30:51 -03 2009


Vou arriscar 2 palpites:

1) Ele nao reconhece o comando 'IF'. Tente usar CASE no lugar.
2) (SELECT * FROM AR_SUC WHERE C_SUC = ' & RECO:C_SUC & ' C_ART = ' & RECO:C_ART & ') -> está faltando um 'AND' entre as duas columns:

    SELECT * FROM AR_SUC WHERE C_SUC = ' & RECO:C_SUC & and ' C_ART = ' & RECO:C_ART & ')



________________________________
From: Cesar Nuñez <celina.mara em brturbo.com.br>
To: lista em firebase.com.br
Sent: Tue, December 8, 2009 11:17:47 AM
Subject: [firebase-br] If exists...else

Hola a todos..

Clarion 6.1 + Firebird 2.0.5

Loc:Query = ' IF EXISTS( SELECT * FROM AR_SUC WHERE C_SUC = ' & RECO:C_SUC & ' C_ART = ' & RECO:C_ART & ') THEN  ' &|
                    ' UPDATE AR_SUC SET K_SAL = K_SAL + ' & RECO:N_ENT & ' WHERE C_SUC = ' & RECO:C_SUC & ' and C_ART = ''' & RECO:C_ART & '''' &|
                             ' ELSE ' &|
                             ' INSERT INTO AR_SUC (C_SUC, C_ART, K_SAL) VALUES( ' & RECO:C_SUC & ',''' & RECO:C_ART & ''',' & RECO:N_ENT & ');'

AR_SUC{Prop:Sql} = Loc:Query
IF FileErrorcode()
     SETCLIPBOARD(Loc:Query)
     MESSAGE('Error '&clip(Loc:query)) 
end

Error posteado

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 2, column 2.
IF.

Como poderia solucionar este Error...
Aguardo sugerencias..

SAludos
Cesar
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa



Mais detalhes sobre a lista de discussão lista