Saber se um registro já existe

3 respostas
E

Olá!!!

Gostaria de saber qual a melhor maneira de descobrir se um registro já existe em uma tabela. Pensei em fazer um select pela chave primária da tabela e caso o número de registros fosse maior de 0 então o registro já existe, mas isso tem cara de gambiarra e acho que deve sobrecarregar o sistema. Não tem uma maneira melhor?

3 Respostas

J

efren_lopes

Eu penso que para saber se um registro já existe na tabela só existe uma maneira de saber: consultar a tabela.
Um select seria a maneira de fazer isso, e acho que não tem como fugir disso.

jcmarqs

A

Caras, se na tabela existe uma chave primária, qualquer tentativa de inserir um registro que já existe resultará em um erro gerado pelo banco. Este erro poderia então ser capturado no bloco catch e receber o devido tratamento, como por exemplo mostrar uma mensagem para o caro usuário.

H

Chaves primárias são justatmente para isso, verificar se já existe algum registro na tabela antes de inserir outro. Portanto o nosso amigo ADEMILTON está corretíssimo e também não existe outra maneira de fugir de um select caso o que vc queira seja apenas consultar.

E sobre sobrecarregar o sistema isso só acontece se a quantidade de consultas for muio , muito , mas muito grande… e a base de dados for gigantesca. Também dependerá do seu servidor e do SGDB que está usando.

Pode ficar tranquilo e usar selects a vontade. Ou caso seja necessário e a consulta não for uma coisa tão simples assim e envolver várias outras consultas uma dependendo do resultado da outra crie uma procedure para te retornar o resultado !!

Boa sorte !

Criado 29 de maio de 2006
Ultima resposta 29 de mai. de 2006
Respostas 3
Participantes 4