[firebase-br] Update com Join

Jancarlos Martins jancarlos.martins em gmail.com
Sex Jul 25 16:51:18 -03 2008


Blz

Tenta isso

UPDATE TB_CPJ SET CPJ.SCL_CDOBSI003 = 6 FROM TB_CPJ CPJ
  WHERE  <CHAVE ID DA TB_CPJ> IN

(SELECT <CAMPO> FROM CRE
WHERE    CRE.CRE_SERIEA003 = 'UNI'
  AND CRE.EMP_CDEMPA003 = '001'
AND CPJ.CPJ_CDCLII006 <> '85'
  AND CRE.CRE_SITUAA001 <> 6
  AND CRE.CRE_DTVEND000 < '10.07.2008'
  AND CPJ.SCL_CDOBSI003 = 0
INNER JOIN TB_CRE CRE ON (CPJ.CPJ_CDCLII006 = CRE.CPJ_CDCLII006)
 INNER JOIN TB_CPF CPF ON (CPJ.CPJ_CDCLII006 = CPF.CPJ_CDCLII006)  )

t+

Jancarlos Martins
DEFENCE INFORMATICA
CIANORTE-PR


2008/7/25 Cleber Zulian <cleber em agrosoftrs.com.br>:

> Desculpe mas que eu saiba a sintaxe para update no firebird não é esta.
> Até onde sei  seria :
> UPDATE <NOME_TABELA> SET
>             <NOME_CAMPO>     = 1,
>              <NOME_CAMPO>    = 3
> WHERE <CONDIÇÃO>
>
> Se precisar buscar dados em outras tabelas uso um subselect. mas com o
> inner join sempre acreditei que não fosse possível.
>
> Abraço
>
> Daniel Reis escreveu:
> > O update abaixo está dando erro. De acordo com a mensagem de erro
> apresentada o problema está no uso do FROM. Poderiam me ajudar, por favor.
> Desde já agradeço.
> >
> >
> > UPDATE TB_CPJ SET CPJ.SCL_CDOBSI003 = 6 FROM TB_CPJ CPJ INNER JOIN TB_CRE
> CRE ON (CPJ.CPJ_CDCLII006 = CRE.CPJ_CDCLII006)
> >                  INNER JOIN TB_CPF CPF ON (CPJ.CPJ_CDCLII006 =
> CPF.CPJ_CDCLII006)
> >  WHERE
> >     CRE.CRE_SERIEA003 = 'UNI'
> > AND CRE.EMP_CDEMPA003 = '001'
> > AND CPJ.CPJ_CDCLII006 <> '85'
> > AND CRE.CRE_SITUAA001 <> 6
> > AND CRE.CRE_DTVEND000 < '10.07.2008'
> > AND CPJ.SCL_CDOBSI003 = 0
> > GROUP BY CPJ.CPJ_CDCLII006, CPJ.CPJ_RZSOCA060, CPJ.CPJ_ENDERA035,
> CPJ.CPJ_BAIRRA020, CPJ.CEP_CDCEPI005, CPJ.CEP_DGCEPI003, CPJ.CPJ_CIDADA020,
> CPJ.CPJ_CDUFEA030, CPF.CPF_EMCONA050
> > ORDER BY CPJ.CPJ_CDCLII006
> >
> > ____________________________________________________
> >
>
>
> ______________________________________________
> 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