Próximo ID- SQL

2 respostas
D

Galera estou com um probleminha que parece ser simples…

Tenho um cadastro de simples e na minha tabela tenho um campo auto identificador (auto increment).
O problema é, o id da tabela é como se fosse o número do protocolo certo? como estou fazendo hoje, ao abrir a tela de cadastro eu trabalho o max da minha tabela. Supondo vai trazer o id 500 se outro usuario abrir um novo cadastro ele irá trazer também o campo 500 mas na hora de inserir como é auto identificador irá ser inserido no 501 (ou mais, dependendo da quantidade sessões de cadastro estiverem abertas). Só que o meu usuario usou e guardou o numero 500 como registro! e agora?
Pensei:
1º - Fazer um select com campos inseridos e retornar o id referente a essa pesquisa, mas há o desempenho, acho este o mais seguro.
2º - Há como fazer isso sincronizado? mas e este id, ficará preso?

3º - O que vcs sugerem?

2 Respostas

F

tenho a opinião que nunca deve-se mostrar para o usuario final a chave de uma tabela!!!
a chave deve ser usada apenas como chave mesmo!! … boa essa frase :slight_smile:
tu pode ter alguns problemas se tu usar essa chave como nro de protocolo… um outro usuario pode
abrir a mesma tela e o teu sistema vai tentar gravar a mesma chave…
alem disso tu pode querer importar/exportar pra outro banco e pode perder as tuas chaves…

acho q tu deve criar uma outra coluna de nro de protocolo e qdo tu for salvar tu faz um auto incremento na mao (ainda assim pode dar problemas,
mas a chance eh menor) e grava e depois mostra pro usuario o nro do protocolo…
ou ainda, tu pode criar um nro meio magico, calculado, como data, random, usuario, algo assim…

D

é, acho que a melhor maneira mesmo é gerar um número de protocolo baseado em algumas informações e informa-lo após a inserção do usuário.
Mas como tudo é na correria vai ficar por enquanto assim. hehehe
achei o @@identyti do SQL … que retorna o ID inserido… não sei ainda qual a segurança disso, mas acho que vai passando por enquanto…
heheh

Criado 26 de julho de 2005
Ultima resposta 26 de jul. de 2005
Respostas 2
Participantes 2