[firebase-br] Where "especial"

Murilo -> CPR Sistemas murilo em cprinformatica.com.br
Qua Dez 27 17:51:27 -03 2006


é possível fazer com que uma ou mais cláusulas contidas no Where ou no 
Join sejam executadas apenas em certas condições?

Por exemplo:
(Ignorem o select em si, o detalhe está no Join, onde existem 2 
"ligações", sendo a primeira obrigatória, mas a segunda é "opcinal", ou 
seja, eu gostaria que ela fosse executada apenas se o usuário INFORMOU o 
segundo parâmetro caso contrário ela é deixada de lado.

"select  tb1.campo1,
	tb1.campo2,
	tb1.campo3
from TABELA1 tb1
join TABELA2 tb2 on ((tb2.campo2 = tb1.campo1)and
		     (tb2.campo3 = :parametro2))
where tb1campo1 = :parametro1"


Já tentei assim:
"select  tb1.campo1,
	tb1.campo2,
	tb1.campo3
from TABELA1 tb1
join TABELA2 tb2 on ((tb2.campo2 = tb1.campo1)and
		     ( (:parametro2 is not null) and (tb2.campo3 = parametro2) ))
where tb1campo1 = :parametro1"


Mas retornou o seguinte erro:
"An error was found in the application program input parameters for the 
SQL statement.
Dynamic SQL Error.
SQL error code = -804.
Data type unknown."





Mais detalhes sobre a lista de discussão lista