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

Publicado por Diego em 16/11/2015

[ Hits: 4.572 ]

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

Interface gráfica para configuração do SAMBA

PHP - Utilizando Chainning

Universidade Linux - Dicas sobre Linux

Conhecendo melhor o PHP

Configurando o charset de suas páginas Web

Leitura recomendada

Exportar banco de dados SQLite para arquivo .sql

Adicionando campos de arquivo csv em componente do lazarus

Fazendo backup no OpenLDAP

Contador de linhas em consultas SQL

Melhor escolha, melhor performance (banco de dados)

  

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