Copiar conteúdo de um campo para outro

SQL Server

MySQL

26/11/2015

Olá, bom dia a todos!

Preciso de uma ajudinha. Primeiramente, me desculpem, sou iniciante, e portanto o que puderem ser mais didáticos agradeço:

Tenho um ajuste para fazer em uma base de dados, e não sei bem como proceder. Se puderem me ajudar, lhes agradeço muito. Uso o phpmyadmin.

Preciso selecionar os registros de um tipo específico em uma "tabelaX" (ex: tipo = 5) e copiar as informações do campo "subsecao" deste "tipo = 5" para os campos de "secao" deste mesmo "tipo = 5", indicando que a "subsecao" que esteja vazia e/ou nula não seja copiada, para que o campo "secao", neste caso, permaneça como está, pois há casos onde o campo de "subsecao" não tem informação nenhuma e neste caso deverei manter as informações do campo "secao".

Qualquer informação que não tenha ficado clara, tento explicar melhor. E qualquer ajuda que puderem dar será muito bem vinda.

No mais, agradeço muito a quer puder me dar esse apoio!

Abraço!
Luiz

Luiz

Curtidas 1

Melhor post

Luiz

Luiz

27/11/2015

É justamente a condição que indica que a subsecao, obrigatoriamente, deve estar vazia ('') para ser atualizada...

Caso a coluna subsecao não seja obrigatória, você pode complementar com :

WHERE tipo = 5 AND ( subsecao <> '' and subsecao is not null )


Ou seja... a subsecao ser diferente de vazio '' e a subsecao não ser nula.

P.S.: Perdão por me meter na sua resposta William.


Olá Marcos, bom dia.

Obrigado, é isso mesmo, a subsecao somente será copiada para secao caso ela não esteja vazia ou seja nula.

Obrigado aos amigos.

Assim que testar, retorno o resultado.

Bom final de semana!

Abraço.
GOSTEI 1

Mais Respostas

William

William

26/11/2015

Luiz todo o processo de captura e atualização dos dados ocorrem na mesma tabela ou são tabelas diferentes?
GOSTEI 0
Luiz

Luiz

26/11/2015

Luiz todo o processo de captura e atualização dos dados ocorrem na mesma tabela ou são tabelas diferentes?


Olá William, boa tarde.

Ocorrem na mesma tabela.

Obrigado por seu retorno.

Abraço
GOSTEI 0
William

William

26/11/2015

Olá montei essa instrução, veja se serve para você, pode ser necessário alguns ajustes:
UPDATE tabelaX SET secao = subsecao 
WHERE tipo = 5 AND subsecao <> ''
GOSTEI 0
Luiz

Luiz

26/11/2015

Olá montei essa instrução, veja se serve para você, pode ser necessário alguns ajustes:
UPDATE tabelaX SET secao = subsecao 
WHERE tipo = 5 AND subsecao <> ''


Olá William, bom dia.

Ok. Vou testar e retorno o resultado.

Ela pelo que entendi, atualiza a tabelaX com o conjunto secao igual ao subsecao, onde o tipo for 5, e a subsecao não estiver vazia/nula. O que são as duplas aspas simples no final?

Muito obrigado!
GOSTEI 0
Marcos P

Marcos P

26/11/2015

É justamente a condição que indica que a subsecao, obrigatoriamente, deve estar vazia ('') para ser atualizada...

Caso a coluna subsecao não seja obrigatória, você pode complementar com :

WHERE tipo = 5 AND ( subsecao <> '' and subsecao is not null )


Ou seja... a subsecao ser diferente de vazio '' e a subsecao não ser nula.

P.S.: Perdão por me meter na sua resposta William.
GOSTEI 0
William

William

26/11/2015

Sem problemas Marcos P, sua colocação foi perfeita, acabei esquecendo de condicionar o valor NULL na minha instrução!
GOSTEI 0
Luiz

Luiz

26/11/2015

Olá amigos, bom dia.

Fiz um pequeno teste e funcionou perfeitamente. Só que agora tenho uma dúvida. A base é grande, cerca de 600mb, e li que alterações em bases grande, ainda mais neste caso, uma alteração que envolve uma quantidade significativa de dados, deve ser feito via SSH. E no caso de ser via SSH creio que a instrução seja outra. É isso mesmo?

Tenham uma ótima semana.

Obrigado.
GOSTEI 0
Lisiane Vale

Lisiane Vale

26/11/2015

Escreva um Servlet que recebe como argumento um inteiro (enviada através de um formulário), e imprime no HTML resposta a tabuada desse número específico; pode me ajudar
GOSTEI 0
William

William

26/11/2015

Olá amigos, bom dia.

Fiz um pequeno teste e funcionou perfeitamente. Só que agora tenho uma dúvida. A base é grande, cerca de 600mb, e li que alterações em bases grande, ainda mais neste caso, uma alteração que envolve uma quantidade significativa de dados, deve ser feito via SSH. E no caso de ser via SSH creio que a instrução seja outra. É isso mesmo?

Tenham uma ótima semana.

Obrigado.


A instrução contínua a mesma, a única diferença é que vc vai executar via terminal!
GOSTEI 0
Marcos P

Marcos P

26/11/2015

Exatamente o mesmo comando, o que muda é a forma de conexão...

Seria interessante incluir a instrução em uma transação, restaurando os dados originais em caso de falha.
GOSTEI 0
Paulo

Paulo

26/11/2015

Obrigado mano,

Faz tanto tempo esse post, mas me ajudou muito hoje 27/08/20
GOSTEI 0
POSTAR