[firebase-br] função ou procedure para usar na cláusula WHERE de SELECTS
Carlos H. Cantu
listas em warmboot.com.br
Ter Jun 5 10:41:45 -03 2018
Procure por CASE e IIF:
https://www.firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25.html
[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
SBdME> Bom dia Pessoal,
SBdME> Existe alguma forma de, no firebird 2.5 eu criar uma função ou procedure que
SBdME> eu possa utilizar na clausula WHERE?
SBdME> Eu utilizo stored procedures e já li sobre as selectable procedures. Porém
SBdME> nenhuma das duas atende ao que eu preciso.
SBdME> E em relação a funções, li que existem external functions, mas também não
SBdME> sei se se tratam do que eu preciso.
SBdME> Exemplificando, teria uma função do tipo (não estou utilizando sintaxes
SBdME> corretas. Só exemplificando a necessidade):
SBdME>
SBdME> FUNCTION myComparaData(D1, D2, D3, D4) RETURNS (CHAR(1))
SBdME> DECLARE VARIABLE D1 TIMESTAMP
SBdME> DECLARE VARIABLE D2 TIMESTAMP
SBdME>
SBdME> D1=IIF (D2 IS NULL, D1,D2)
SBdME> D2=IIF (D4 IS NULL, D3,D4)
SBdME>
IF D1>>D2 RETURNS ‘T’;
SBdME> ELSE RETURNS ‘F’
SBdME>
SBdME> ***************************
SBdME> E utilizaria no select mais ou menos assim:
SBdME> SELECT * from t1, t2
SBdME> WHERE myComparaData(t1.dtcadast,t1.dtalter, t2.dtcadast, t2.dtalter)=’T’
SBdME>
SBdME> Eu faço isto no MySQL, mas no Firebird não estou encontrando como...
SBdME> Agradeço a ajuda
SBdME>
SBdME> ______________________________________________
SBdME> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
SBdME> Para saber como gerenciar/excluir seu cadastro na lista, use:
SBdME> http://www.firebase.com.br/fb/artigo.php?id=1107
SBdME> Para consultar mensagens antigas:
SBdME> http://www.firebase.com.br/pesquisa_lista.html
Mais detalhes sobre a lista de discussão lista