[firebase-br] função ou procedure para usar na cláusula WHERE de SELECTS

Gladiston Santana gladiston em vidy.com.br
Ter Jun 5 12:36:05 -03 2018


eu uso o 'case/when' até na linha do order by, então imagino que você
consiga fazer qualquer coisa com ele.

Em 5 de junho de 2018 10:23, Sofia Bonato de Moraes - EES <
sbonato em ees.com.br> escreveu:

> Bom dia Pessoal,
>
> Existe alguma forma de, no firebird 2.5 eu criar uma função ou procedure
> que
> eu possa utilizar na clausula WHERE?
>
> Eu utilizo stored procedures e já li sobre as selectable procedures.  Porém
> nenhuma das duas atende ao que eu preciso.
>
> E em relação a funções, li que existem external functions, mas também não
> sei se se tratam do que eu preciso.
>
> Exemplificando, teria uma função do tipo (não estou utilizando sintaxes
> corretas.  Só exemplificando a necessidade):
>
>
>
> FUNCTION myComparaData(D1, D2, D3, D4) RETURNS (CHAR(1))
>
> DECLARE VARIABLE D1 TIMESTAMP
>
> DECLARE VARIABLE D2 TIMESTAMP
>
>
>
> D1=IIF (D2 IS NULL, D1,D2)
>
> D2=IIF (D4 IS NULL, D3,D4)
>
>
>
> IF D1>D2 RETURNS ‘T’;
>
> ELSE RETURNS ‘F’
>
>
>
> ***************************
>
> E utilizaria no select mais ou menos assim:
>
> SELECT * from t1, t2
>
> WHERE myComparaData(t1.dtcadast,t1.dtalter,  t2.dtcadast, t2.dtalter)=’T’
>
>
>
> Eu faço isto no MySQL, mas no Firebird não estou encontrando como...
>
> Agradeço a ajuda
>
>



Mais detalhes sobre a lista de discussão lista