Oi André, tento estudar o máximo possível antes de fazer alguma pergunta ao grupo, mas confesso que sou totalmente inexperiente no postgresql, ou seja, confesso que estou tendo dificuldades em entender o seu exemplo: Quando há uma violação, conforme o seu exemplo, o processamento irá continuar? e as mensagem de violação, como fasso para ignora-las ou invia-las para um "lixo" temporário? Se puder continuar me ajudando, fico agradecido!
Valeu! 2009/8/20 Andre Fernandes <[email protected]> > Como disse antes, podes usar uma trigger para ignorar registros duplicados > durante a inserção, dessa forma se o registro já existir na base de dados, a > trigger ignoraria esse comando. Dessa forma, não terias problemas de > duplicidade alguma. > > Abraços, > André. > > 2009/8/20 MIGUEL JOSE DE LIMA <[email protected]> > >> Caro colega, talvez eu não expliquei direito: Eu não desejo registros >> duplicados!!! >> Então, não basta deletar a constraint. E por outro lado eu não tenho >> conhecimento suficiente para afirmar que há uma aberração em outro produto, >> mas tenho conhecimento suficiente para dizer que em muitos processamentos a >> INSERSSÃO DE REGISTROS ignorando os erros de duplicidades é muito mais >> rapido, sem ter a necessidade de >> verificar a duplicidade da chave e inclusive a do registro! >> >> Mas valeu, Muito Obrigado >> >> 2009/8/20 Roberto Mello <[email protected]> >> >>> 2009/8/20 MIGUEL JOSE DE LIMA <[email protected]>: >>> >>> > Pessoal, >>> > Em um procedimento para inserir várias linhas/registros (INSERT ... >>> SELECT >>> > ....) como >>> > posso contornar o erro de chave duplicada, sem interromper o >>> > processamento??? >>> > >>> > Pesquisei na lista e não achei nada. E através do google achei um >>> exemplo >>> > que utiliza uma SubQuery >>> > com a clausula "NOT IN (SELECT ...)". Será que esta é a melhor forma? >>> > Não existe nada parecido com o "INSERT IGNORE ..." do MySQL? >>> (Postgresql 8.3 >>> > ou 8.4) >>> >>> Não. Esse tipo de aberração grotesca só se vê num produto como o MySQL. >>> >>> Se quiser o mesmo efeito no PostgreSQL, faça um DROP na constraint, >>> faça suas inserções, e depois re-crie a chave ou constraint. >>> >>> Roberto >>> _______________________________________________ >>> pgbr-geral mailing list >>> [email protected] >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>> >> >> >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> >> > > > -- > André de Camargo Fernandes > > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
