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
