Em 17 de julho de 2010 11:17, Kleber Cesar de Padua
<[email protected]> escreveu:
> Amigo
>
> Faça um insert com select e dentro dessa você verifica se a informação da
> linha existe na outra tabela usando uma sub-select referenciando os
> paremetros de busca da informação a ser gravada
>
> Exemplo considerando que o campo1 da tabela_recebe é inteiro e chave
> primaria:
>
> Insert into tabela_recebe( campo1, campo 2)
>
> Select
>    te.campo1,
>   te.campo2
> from
>   tabela_envia te
> where
>   (select coalesce(campo1,0)  from tabela_recebe where campo1 = te.campo1) = 0
>
> Dessa forma só será inserido nessa tabela as informações que ainda não
> existem.
>
> (corte)

Existem 1001 maneiras de preparar Neston, e para este caso há mais de
uma possibilidade.

Também há como utilizar a cláusula NOT EXISTS ou utilizar a EXCEPT
[ALL]. Faça um estudo e escolha aquela que lhe oferecer o melhor plano
de acesso.


-- 
TIAGO J. ADAMI
http://www.adamiworks.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a