michel008 0 Denunciar post Postado Dezembro 4, 2014 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
Fabiano Abreu 22 Denunciar post Postado Dezembro 4, 2014 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 Papo SQL Compartilhar este post Link para o post Compartilhar em outros sites
michel008 0 Denunciar post Postado Dezembro 5, 2014 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
Fabiano Abreu 22 Denunciar post Postado Dezembro 5, 2014 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
michel008 0 Denunciar post Postado Dezembro 8, 2014 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