Utilizando SQL Dinâmico

Veja nesta dica como trabalhar com SQL Dinâmico.

SQL Dinâmico

Nós precisamos algumas vezes utilizar um mesmo SELECT para selecionar diferentes registros considerando condições de filtro diferentes.  Uma alternativa é utilizar duas instruções SELECT com diferentes condições de busca na cláusula WHERE. Outra é utilizar SQL Dinâmico.
Por exemplo, considere a busca abaixo:

SELECT *
FROM table_1
WHERE fld_date = 200301

 

Agora, o que aconteceria se você precisasse localizar um determinado registro para a data de 200310?  Teria que elaborar uma condição de filtro para cada registro?

Se você utilizar uma variável aux_ID para setar dinamicamente o valor de um ID, você terá um comando SQL que poderá ser criado dinamicamente:

  

SELECT fld_id, fld_name, fld_lastname, fld_date, .....

FROM   table_1

WHERE  fld_date = 200301 AND

fld_id   = CASE

WHEN :aux_id > 0

THEN aux_id

ELSE fld_id

END

 

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados