首页 > 解决方案 > 我已经成功创建了mysql存储过程,但执行时出现未知错误

问题描述

我有mysql存储过程,创建成功,但执行时抛出未知错误。

这是我的查询:

DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `attendence_status`(IN `user_id` VARCHAR(100))
BEGIN

DECLARE userid VARCHAR(255); 
DECLARE currTime TIMESTAMP; 
DECLARE logout TIME;
DECLARE login TIME;
DECLARE alid BIGINT;

SELECT ae.userid,ae.created_at,al.login,al.logout,al.id FROM an_events as ae 
LEFT JOIN attendence_log as al ON ae.userid = al.userid AND DATE(ae.created_at) = al.created_date
WHERE ae.userid = user_id AND DATE(ae.created_at)= CURRENT_DATE  INTO userid,currTime,login,logout,alid;

IF login IS NOT NULL AND logout IS NOT NULL THEN
    INSERT INTO attendence_log(userid,created_date,login,logout) VALUES(userid,DATE(currTime),MAX(TIME(currTime)),null);

ELSEIF login IS NOT NULL AND logout IS NULL AND HOUR(TIMEDIFF( MIN(TIME(currTime)),MAX(TIME(currTime)))) > 1
THEN
    UPDATE attendence_log SET logout = MAX(TIME(currTime)) WHERE id=alid;
ELSE
INSERT INTO attendence_log VALUES(null,1,DATE(CURRENT_TIME),MIN(TIME(CURRENT_TIME)),null);
END IF;


END$$
DELIMITER ;

请帮帮我......提前谢谢你

标签: mysqlstored-procedures

解决方案


推荐阅读