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

José Mauricio barbisan Zottis zottissistemas em gmail.com
Ter Jun 5 10:34:22 -03 2018


Não sei se seria o certo, mas não daria para declarar uma variável e pegar
o resultado da procedure(Where) e jogar nessa variável e comparar no where
Tipo;
vAux = myComparaData(t1.dtcadast,t1.dtalter,  t2.dtcadast, t2.dtalter)

SELECT * from t1, t2

WHERE vAux = ’T’ ou fazer a comparação antes de fazer o select


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
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://www.firebase.com.br/
> pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista