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

Sofia Bonato de Moraes - EES sbonato em ees.com.br
Ter Jun 5 10:23:26 -03 2018


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