执行该操作时,存储过程mysql返回null

时间:2018-07-30 00:03:24

标签: mysql sql stored-procedures

我正在尝试执行此PL / Mysql以获取3个值作为回报,但是

DELIMITER //
CREATE PROCEDURE p_login(user VARCHAR(16), 
pass VARCHAR(30),
OUT Tipo_usuarios VARCHAR(1), 
OUT estado_usuarios VARCHAR(1),
OUT idUsuarios INT(11)) 
BEGIN
    DECLARE s_tipo,  s_estado VARCHAR(1);
    DECLARE s_id INT(11);
    SELECT Tipo_usuarios, estado_usuarios, idUsuarios 
    INTO s_tipo, s_estado, s_id
    FROM USUARIOS
    WHERE 
        user_usuarios = user AND
        pass_usuarios = pass;
    IF s_id IS NOT NULL THEN
        SET Tipo_usuarios = s_tipo;
        SET estado_usuarios = s_estado;
        SET idUsuarios = s_id;
        INSERT INTO BITACORA_LOGIN (usuario_bitacora, 
        fecha_bitacora) 
        VALUES (s_id, SYSDATE(), USER());
        COMMIT;
    END IF;
END//
DELIMITER ;

执行时

CALL p_login('user1', 597293, @a, @b, @c);
SELECT @a, @b, @c;

我总是得到 NULL 值,关于如何执行或在PL / Mysql中有什么不好的主意吗?

0 个答案:

没有答案