我正在尝试执行此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中有什么不好的主意吗?