Olá, Miguel

Não sei se entendi o que você quer, mas vamos lá.

Exemplo: Arquivo registros.txt com as seguintes linhas.

INSERT INTO exemplo001 VALUES (1);
INSERT INTO exemplo001 VALUES (2);
INSERT INTO exemplo001 VALUES (3);
INSERT INTO exemplo001 VALUES (4);
INSERT INTO exemplo001 VALUES (5);

Uma tabela criada exemplo001 e os seguintes registros 2 e 4.

Ao fazer psql postgres -f registros.txt será apresentada uma mensagem de
violação de constraints para os registros 2 e 4, porém os registros 1, 3 e 5
serão inseridos normalmente. Não sei é isso o que você deseja.


2009/8/20 Tiago Adami <[email protected]>

>
> 2009/8/20 MIGUEL JOSE DE LIMA <[email protected]>
>
>> Oi Tiago, para sua pergunta vou inserir apenas todos os registros que não
>> violaram a chave!
>> Mas de qualquer forma é uma alternativa.
>> Valeu, Obrigado!
>>
>
> Então é mais fácil do que parece ;)
>
> Você pode identificar os registros com chave duplicada através de um COUNT,
> e não considerá-los no INSERT.
>
> Exemplo fictício:
>
> Tabela:
>    ESTOQUE
>
> Campos da Chave:
>    PLANILHA, ITEM
>
> SELECT que traz apenas os dados onde a chave não está duplicada:
>
> SELECT
>     *
> FROM
>     ESTOQUE EST,
>     (
>     SELECT
>         PLANILHA,
>         ITEM,
>         COUNT(ITEM) AS OCORRENCIAS
>     FROM
>         ESTOQUE
>     GROUP BY
>         PLANILHA,
>         ITEM
>     ) CHAVES
> WHERE
>     EST.PLANILHA = CHAVES.PLANILHA AND
>     CHAVES.OCORRENCIAS = 1
>
> Ao colocar no WHERE o "CHAVES.OCORRENCIAS = 1", você está dizendo que quer
> apenas os registros onde a ocorrência da chave seja apenas 1 registro na
> tabela.
>
> --
> Tiago J. Adami
> Dois Vizinhos - Paraná - Brasil
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>

[]s
-- 
JotaComm
http://jotacomm.wordpress.com
http://www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a