The B3S Postado Fevereiro 6, 2012 Denunciar Share Postado Fevereiro 6, 2012 Gostaria a cada cadastro em uma tabela gerasse um id que partisse do 1, a cada cadastro, em sequencia.ex: 1° cadastro o id retornasse 1 o 2° cadastro o id retornasse 2 e assim por diante.tem um problema, gostaria que quando eu apagasse um registro o id que fou apagado fosse gerado novamente.ex: um cadastro do id 360 foi excluido, gostaria que o proximo cadastro fosse 360 para que fique em sequencia sem pular numeros. Link para o comentário Compartilhar em outros sites More sharing options...
0 isaikki Postado Fevereiro 7, 2012 Denunciar Share Postado Fevereiro 7, 2012 Boa tardeentão, para implementar algo assim, você precisaria fazer uma mudança simples no seu banco, por exemplo, ao invés de excluir um usuário, você atualiza um campo para ver se ele está ativo ou inativo, daí, qd for incluir um usuário, você ve o número mínimo que um usuário inativo tem... deixa eu colocar em códigoao excluir um usuário, apenas desative-oupdate usuario set ativo = 'F' where idUsuario = 360 mesmo excluindo vários usuários, a consulta abaixo irá preenchendo no id mais baixo update usuario set nomeUsuario = 'nome', enderecoUsuario = 'endereco' where idUsuario = (select min(idUsuario) from usuario where ativo = 'F')antes de fazer esse código, você deve fazer um controle para saber se existe usuários inativos ou não, se não tiver usuários inativos, você deve fazer um insert como sempre fez, não esquecendo de setar o campo ativo como 'T', e quando for fazer um select para buscar os usuários, colocar uma cláusula no where retornando os usuários com ativo = 'T'qualquer coisa falaê Link para o comentário Compartilhar em outros sites More sharing options...
0 The B3S Postado Fevereiro 9, 2012 Autor Denunciar Share Postado Fevereiro 9, 2012 Boa tardeentão, para implementar algo assim, você precisaria fazer uma mudança simples no seu banco, por exemplo, ao invés de excluir um usuário, você atualiza um campo para ver se ele está ativo ou inativo, daí, qd for incluir um usuário, você ve o número mínimo que um usuário inativo tem... deixa eu colocar em códigoao excluir um usuário, apenas desative-oupdate usuario set ativo = 'F' where idUsuario = 360 mesmo excluindo vários usuários, a consulta abaixo irá preenchendo no id mais baixo update usuario set nomeUsuario = 'nome', enderecoUsuario = 'endereco' where idUsuario = (select min(idUsuario) from usuario where ativo = 'F')antes de fazer esse código, você deve fazer um controle para saber se existe usuários inativos ou não, se não tiver usuários inativos, você deve fazer um insert como sempre fez, não esquecendo de setar o campo ativo como 'T', e quando for fazer um select para buscar os usuários, colocar uma cláusula no where retornando os usuários com ativo = 'T'qualquer coisa falaêOk, deu certo , isto me ajudou muito. Obrigado. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
The B3S
Gostaria a cada cadastro em uma tabela gerasse um id que partisse do 1, a cada cadastro, em sequencia.
ex: 1° cadastro o id retornasse 1 o 2° cadastro o id retornasse 2 e assim por diante.
tem um problema, gostaria que quando eu apagasse um registro o id que fou apagado fosse gerado novamente.
ex: um cadastro do id 360 foi excluido, gostaria que o proximo cadastro fosse 360 para que fique em sequencia sem pular numeros.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados