我正在使用MySQL和MySQL工作台。有人可以在这里帮助我,因为我迷失了方向!
我运行查询如下:
# Retrieve user_team from user
SELECT CS_USER_TEAMS_ID
FROM classicseasonmodel_classicseasonuserteam
WHERE user_id = 2;
哪个工作正常..我得到的价值CS_USER_TEAMS_ID
是2:
但是,当我使用输入参数创建同一查询的存储过程时。
CREATE DEFINER=`root`@`localhost` PROCEDURE `test`(IN user_id INT)
BEGIN
# Retrieve user team from user_id
SELECT CS_USER_TEAMS_ID
FROM classicseasonmodel_classicseasonuserteam
WHERE user_id = @user_id;
END
..它什么也不返回(null)
有人可以解释我在这里有多蠢吗?谢谢。
尝试:
DELIMITER //
CREATE DEFINER=`root`@`localhost` PROCEDURE `test`(IN p_user_id INT)
BEGIN
# Retrieve user team from user_id
SELECT CS_USER_TEAMS_ID
FROM classicseasonmodel_classicseasonuserteam
WHERE user_id = p_user_id;
END//
DELIMITER ;
指出9.4之间的区别很重要。用户定义的变量和例程参数13.1.15。CREATE PROCEDURE和CREATE FUNCTION语法是不同的变量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句