quinta-feira, 19 de novembro de 2009

Case x Decode

Decode
 SELECT
  DECODE  (
    vCargo,
    1, ‘Presidente’,
    2, ‘Diretor’,
    3, ‘Gerente’,
       ‘Funcionário’
  )
FROM dual;

Case Simples
 SELECT
  CASE
    vCargo
    WHEN 1
      THEN ‘Presidente’
    WHEN 2
      THEN ‘Diretor’
    WHEN 3
      THEN ‘Gerente’
    ELSE   ‘Funcionário’
  END
FROM dual;

Case com Pesquisa
SELECT
  CASE
    WHEN vCargo = 1
      THEN ‘Presidente’
    WHEN vCargo = 2
      THEN ‘Diretor’
    WHEN vCargo = 3
      THEN ‘Gerente’
    ELSE ‘Funcionário’
  END
FROM dual;

Case x Decode, Quem vence?
Implementado na versão Oracle 8.1.6, o Case é o melhor. Ele é mais flexível, tem uma melhor performance de execução, é mais fácil para leitura e escrita e conseqüentemente é mais fácil de eliminar erros e manter uma codificação mais elegante.

0 comentários:

Postar um comentário