[Cascavel-pm] Como verificar se um registro já existe antes de inserir no banco?
Igor Sutton
igor.sutton em gmail.com
Segunda Outubro 23 15:09:38 PDT 2006
On 23/10/2006, at 19:49, Murilo Opsfelder Araújo wrote:
> Não estou certo de como devo implementar isso. O mais correto seria no
> próprio código Perl ou por alguma SQL?
Se você tentar inserir um registro com uma chave primária existente,
o próprio banco de dados irá reclamar. Creio que se você utilizar
algo do tipo funcione:
my $stmt = $dbh->prepare(qq{INSERT INTO tabela VALUES (?, ?)});
foreach my $data (@datum) {
unless ($stmt->execute($data->{val1}, $data->{val2})) {
warn "An error occurred: ", $stmt->errstr;
}
}
Lembre-se: não reinvente a roda. O RDBM tem a obrigação de validar os
seus dados e manter este tipo de integridade. O que você tem que
fazer é tratar o erro que ele vai gerar.
Espero que ajude.
--
Igor Sutton
igor.sutton em gmail.com
Mais detalhes sobre a lista de discussão Cascavel-pm