UPDATE SQL incremental
15/03/2017
0
Boa noite srs.
Sou totalmente inciante na linguagem SQL eu preciso de um código que corrija a seguinte situação abaixo:
Conforme demonstrado abaixo na Tabela 1 abaixo eu tenho no meu banco uma coluna com nome de NoItem que se refere a numeração dos itens de uma Nota Fiscal, e NoNf que se refere ao numero da Nota Fiscal, então se observarem a numeração da Nota Fiscal pode se repetir, porem a numeração dos itens não podem se repetir e nem estar fora de ordem (sequência), então como demonstrei na Tabela 1, o meu banco ta todo bagunçado eu peguei estas três Notas Fiscais como exemplo é possível observar que para algumas Notas Fiscais existem numeração de itens fora da sequencia e até mesmo itens duplicados, eu preciso corrigir isto para que as informações fiquem organizadas (colocando os itens em ordem crescente começando do nº 1 e sem duplicidade) semelhante ao demonstrado na Tabela 2.
Talvez um comando UPDATE ou uma PROCEDURE resolva o meu problema, alguém que saiba resolver o problema poderia me ajudar por favor.
Tabela 1 (Errado) Tabela 2 (Correto)
Nº do item (NoItem) Nº NFE(NoNf) Nº do item (NoItem) Nº NFE(NoNf)
1 279 1 279
4 279 2 279
3 279 3 279
1 51807 1 51807
7 51807 2 51807
6 51807 3 51807
4 51807 4 51807
9 51807 5 51807
6 51807 6 51807
7 51807 7 51807
2 51808 1 51808
1 51808 2 51808
3 51808 3 51808
Desde já agradeço.
Claudinei
Sou totalmente inciante na linguagem SQL eu preciso de um código que corrija a seguinte situação abaixo:
Conforme demonstrado abaixo na Tabela 1 abaixo eu tenho no meu banco uma coluna com nome de NoItem que se refere a numeração dos itens de uma Nota Fiscal, e NoNf que se refere ao numero da Nota Fiscal, então se observarem a numeração da Nota Fiscal pode se repetir, porem a numeração dos itens não podem se repetir e nem estar fora de ordem (sequência), então como demonstrei na Tabela 1, o meu banco ta todo bagunçado eu peguei estas três Notas Fiscais como exemplo é possível observar que para algumas Notas Fiscais existem numeração de itens fora da sequencia e até mesmo itens duplicados, eu preciso corrigir isto para que as informações fiquem organizadas (colocando os itens em ordem crescente começando do nº 1 e sem duplicidade) semelhante ao demonstrado na Tabela 2.
Talvez um comando UPDATE ou uma PROCEDURE resolva o meu problema, alguém que saiba resolver o problema poderia me ajudar por favor.
Tabela 1 (Errado) Tabela 2 (Correto)
Nº do item (NoItem) Nº NFE(NoNf) Nº do item (NoItem) Nº NFE(NoNf)
1 279 1 279
4 279 2 279
3 279 3 279
1 51807 1 51807
7 51807 2 51807
6 51807 3 51807
4 51807 4 51807
9 51807 5 51807
6 51807 6 51807
7 51807 7 51807
2 51808 1 51808
1 51808 2 51808
3 51808 3 51808
Desde já agradeço.
Claudinei
Claudinei
Curtir tópico
+ 0
Responder
Posts
15/03/2017
Luiz Santos
Claudinei, boa noite.
Para o banco de dados, é indiferente a ordem.
O importante é a chave da tabela estar sendo respeitada.
Se o que você quer é apenas exibir os dados de forma ordenada, basta usar um ORDER BY.
Agora se quiser mesmo fazer a alteração, a forma mais certa é criando uma nova tabela, fazer um INSERT nela com uma consulta, ordenada da forma que você precisa, e por ultimo, voltar os dados para a tabela de origem.
Lembrando de tomar cuidado com as chaves e relacionamentos que seu modelo possui.
Espero ter ajudado.
Grande abraço
Para o banco de dados, é indiferente a ordem.
O importante é a chave da tabela estar sendo respeitada.
Se o que você quer é apenas exibir os dados de forma ordenada, basta usar um ORDER BY.
Agora se quiser mesmo fazer a alteração, a forma mais certa é criando uma nova tabela, fazer um INSERT nela com uma consulta, ordenada da forma que você precisa, e por ultimo, voltar os dados para a tabela de origem.
Lembrando de tomar cuidado com as chaves e relacionamentos que seu modelo possui.
Espero ter ajudado.
Grande abraço
Responder
16/03/2017
Riv3566
https://technet.microsoft.com/en-us/library/ms133905(v=sql.105).aspx
Responder
Clique aqui para fazer login e interagir na Comunidade :)