Case e concatenação no SQL - Ajuste de ordem ou posição na tabela

Publicado por Diego em 16/11/2015

[ Hits: 4.763 ]

Blog: https://rotadev.blogspot.com/

 


Case e concatenação no SQL - Ajuste de ordem ou posição na tabela



Recentemente verifiquei numa base de dados que o código dos lançamentos iniciava-se em 2 ao invés de 1.

O código para ajuste poderia ser feito de outra maneira, inclusive as condições poderiam estar na cláusula WHERE, entretanto, resolvi fazer utilizando o comando CASE e utilizando CONCATENAÇÃO.

O comando CASE permite que as condições sejam testadas no momento da seleção dos dados.

No exemplo abaixo estou pedindo para selecionar todos os códigos da tabela LANCTO, na sequência é verificado todos os códigos maiores ou igual a 2 e decrementado -1 (menos um), a concatenação é realizada através do operador || (duplo pipe):

select distinct(codigo), case when codigo >=2 then 'update lancto set codigo = '|| sum(codigo-1) ||' where codigo = '|| codigo end "Código gerado para ajuste"
from LANCTO
group by 1

Obrigatoriamente o comando CASE deve ser finalizando com o comando END, após o comando pode ser descrito o nome da coluna para exibição dos resultados.

Lembrando que deve estar entre aspas duplas, no exemplo acima nomeei a coluna como "Código gerado para ajuste".

Para cada cláusula WHEN pode ser utilizado o comando ELSE (opcional) para testar condições específicas para cada situação.

Outras dicas deste autor

Formatos de vídeo na WEB

Instalando TeamViewer no Ubuntu multiarch

Livro gratuito - Linux comandos básicos e avançados

Interface gráfica para configuração do SAMBA

Conhecendo melhor o PHP

Leitura recomendada

Como criar domínio no WebLogic

Instalação do MSSQL-Server no CentOS 7

Informix, administração básica

Editora Pearson lança este mês Ajax em ação

Fazendo backup no OpenLDAP

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts