CREATE OR REPLACE TABLE `testlog` ( `id` int(11) NOT NULL AUTO_INCREMENT, `datetime` datetime DEFAULT current_timestamp(), `log_level` tinyint(4) DEFAULT NULL, `log_type` char(1) DEFAULT NULL, `message` varchar(1000) DEFAULT NULL, `source` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ); CREATE OR REPLACE PROCEDURE `testlog`(IN p_message varchar(1000), IN p_source varchar(100), IN p_log_type varchar(1)) BEGIN insert into testlog (log_level, log_type, message, source) values (1, p_log_type, p_message, p_source); END; CREATE OR REPLACE PROCEDURE `test`(IN varSummaryType varchar(10), IN varStartDate date, IN varEndDate date) BEGIN DECLARE v_procedureName varchar(64) default 'test'; if upper(varSummaryType) = 'DAILY' then set @startDate = CURDATE() - interval 1 DAY; set @endDate = CURDATE(); end if; if upper(varSummaryType) = 'HOURLY' then set @startDate = date_format(current_timestamp - interval 1 hour, '%Y-%m-%d %H:00:00'); set @endDate = date_format(current_timestamp, '%Y-%m-%d %H:00:00'); end if; call testlog(concat(varSummaryType, ' Summarizing of Pdu Port Power Information between: ', @startDate, ' and ', @endDate), v_procedureName, 'I'); END; # Test calls call test('HOURLY',null,null); call test('DAILY',null,null);