Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luciano Silveira Marco

Insert entre linhas

Recommended Posts

Olá,

 

Existe alguma forma no INSERT de fazer com que a linha do registro inserido eu possa controlar a posição que será inserida, ou seja, quero fazer um INSERT numa tabela com 100 registros, mas que seja inserido entre a linha 3 e 4 por exemplo.

Se existir, qual a melhor forma de fazer isto?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, não existe "posição" em uma tabela de BD isto é controlado pela diretiva ORDER BY.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Internamente os dados estao todos flutuando como se estivessem dentro do aquario. Não existe ordem nem posição certa. Para os dados virem em uma determinada ordem vc deve pedir ORDER BY alguma coluna.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, e agradeço muito o esclarecimento.

Sendo assim, na seguinte situação exemplo: Tenho um campo não autoincremental que alimento manualmente uma sequência 1,2,3,4,5,6,7... e digamos que eu apague o registro referente da sequencia 3, qual a melhor prática para renumerar a sequencia 4,5,6,7... para um a menos, tentei uns exemplos de update e não deu certo, seria colocar o update num for each?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você PRECISA renumerar esta sequencia !?

Em alguns casos é preciso : número de apólice seguro , num. de nota fiscal etc.

Se não precisa não altere , pois inclusive pode ser preciso alterar tabelas dependentes, trabalheira

que pode ser à toá.

 

Caso a sequencia não possa ser quebrada o melhor é não deletar e marcar o registro com uma

TAG do tipo inválido ou excluído.

 

Mas, querendo renumerar , no seu caso faça :

 

Update tabela set campo = campo - 1 where campo > 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por padrao nenhum sistema deve deletar NADA e sim marcar como inativo, até porque esse dado pode ser necessário mais tarde.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo em parte , em alguns poucos casos cabe a deleção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.