Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
boa tarde,
Estou montando uma procedure onde ela ira realiza uma consulta com variáveis informadas.
A minha dúvida é como alterar o valor da variavel quando ela não for informada, mas é se alguma variável não for informada. Porque a variavel idusuarios ela entra nas regras da aplicação para nunca ser nula ?
Estou enviando a procedure criada.
PROCEDURE sp_view_jobsuserperiodo(IN idusuarios INT,data_inicial DATE,data_final DATE)
BEGIN
IF data_inicial IS NULL OR data_inicial='' THEN
SET data_inicial = DATE_SUB(CURDATE(), INTERVAL DAYOFWEEK(CURDATE()) - 1 DAY); -- DATA DO INICIO DA SEMANA COMEÇA COM DOMINGO--
END IF;
IF data_final IS NULL OR data_final='' THEN
SET data_final = DATE_ADD(CURDATE(), INTERVAL 6 - DAYOFWEEK(CURDATE()) DAY); -- DATA DO FINAL DA SEMANA TERMINA COM SÁBADO--
END IF;
-- DECLARE data_inicial DATE DEFAULT DATE_SUB(CURDATE(), INTERVAL DAYOFWEEK(CURDATE()) - 1 DAY); -- DATA DO INICIO DA SEMANA COMEÇA COM DOMINGO--
-- DECLARE data_final DATE DEFAULT DATE_ADD(CURDATE(), INTERVAL 6 - DAYOFWEEK(CURDATE()) DAY); -- DATA DO FINAL DA SEMANA TERMINA COM SÁBADO--
SELECT j.* FROM jobs AS j
INNER JOIN usuarios AS u ON u.idusuarios = j.idusuarios
WHERE j.responsavel = idusuarios AND j.data_inicio BETWEEN data_inicial AND data_final
GROUP BY data_inicio;Pois é, eu achei que era isso mesmo.
Fiz a pergunta aqui no fórum, para poder me assegurar da decisão.
Passe esta regra para a camada da aplicação.
Obrigado.
http://stackoverflow.com/questions/982798/is-it-possible-to-have-a-default-parameter-for-a-mysql-stored-procedure
Pelo que entendi você quer um default para o parametro, acho que o Mysql ainda não tem isto, o link acima cita uma alternativa.