Prezados amigos desta conceituada comunidade
Bom Dia!
Tenho uma function que recebe 50 parâmetros, dentre eles, alguns podem ser
nulos ou com valores, dependendo da situação, Então, para que eu não tenha que
testar parâmetro por parâmetro e então apos, criar uma query dinâmica, resolvi
utilizar o conceito do COALESCE(..., ...), entretanto quando o parâmetro é nulo
o SELECT é executado, contudo não retorna linhas. Conforme o fragmento de
código/sql abaixo:
1. SELECT *
2. FROM TB_USUARIOS USU
3. WHERE USU.DT_DEMISSAO_USU = COALESCE(p_dDT_DEMISSAO_USU, USU.ID_CODIGO_USU)
4. ORDER BY USU.ID_CODIGO_USU
Neste caso, o campo USU.DT_DEMISSAO_USU na Tabela está NULL,
O Parâmetro p_dDT_DEMISSAO_USU recebido pela Function está NULL também
Logo: WHERE NULL = NULL não retorna registros.
Peço por gentileza uma ajuda neste sentido, pois ficar testando campo a campo
por meio de "IF ... " e ir montando linha a linha em uma variável e somente ao
final executá-la por meio do comando " EXECUTE " torna-se inviável, pois tenho
outras functions com mais de 50 parâmetros, ou seja, se eu conseguir resolver
esta situação, posso usar a solução para todas as procedures que estão com o
mesmo problema.
Na certeza de poder contar mais uma vez com a ajuda de todos.
Fico desde já muito agradecido.
Janir F. C. Junior
Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral