Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

michel008

Parâmetros Nulos na Procedure

Recommended Posts

Boa tarde!

 

Preciso de uma ajuda, preciso criar uma procedure que conta os registros de uma tabela em uma determinada data (este é meu parâmetro).

Mas, quando eu não passar data nenhuma, quero que a proc traga os dados em "D-1", do dia anterior.

 

Exemplo:

 

1) /* TRAZ OS RESULTADOS DO DIA 01/01/14 */

- CALL MinhaProcedure ('2014-01-01 00:00:00', '2014-01-01 23:59:59')

 

2) /* TRAZ OS RESULTADOS DO DIA ANTERIOR */

- CALL MinhaProcedure ( )

 

 

Como faço para conseguir executar a chamada sem especificar parâmetros e traga os dados em D-1????

 

 

 

Att.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Michel, boa tarde.

 

Você pode fazer a checagem do campo para saber se ele é nulo, se for, você faz um simples ifnull, passando um date_sub(now(), interval 1 day) caso for nulo.

 

Espero ter ajudado, abraços.

 

_ _
Fabiano Abreu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabiano,

 

Eu fiz essa checagem de if [campo] is null then [ D-1 ] else [ consulta entre os dias colocados no parâmetro].....

 

O problema é que quando vou executar a procedure com as aspas vazias.... ex: CALL MinhaProcedure ( ) Dá um erro de numero de argumentos inválidos.

 

Quero rodar a procedure sem ter que digitar NULL nos parametros.

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Michel, no MySQL isso não funcionará, pois, não temos sobrecarga de função, facilidade que temos no PostgreSQL, por exemplo.

 

Desta forma, será necessário passar o null nos parâmetros.

 

_ _

Fabiano Abreu

Papo SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah... Realmente o MySQL tem algumas limitações mesmo... Algumas limitações nos complicam na hora de automatizar certas tarefas.

 

Obrigado Fabiano Abreu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.