0
简单的选择存储过程,但只有一列的结果是其他人得到空值。存储过程在Mysql returnig中只有一列数据
有人能告诉我哪里出错..
DELIMITER $$
DROP PROCEDURE IF EXISTS `p4`.`get_one_user_new`$$
CREATE PROCEDURE `p4`.`get_one_user_new`
(
IN USER_ID INT(11),
OUT USER_NAME VARCHAR(255),
OUT FIRST_NAME VARCHAR(255),
OUT EMAIL VARCHAR(255)
)
BEGIN
SELECT username,first_name,email
INTO USER_NAME, FIRST_NAME, EMAIL
FROM p4_users
WHERE id = USER_ID;
END $$
DELIMITER ;
CALL get_one_user_new('4',@USERNAME,@FIRST_NAME,@EMAIL);
SELECT @USERNAME,@FIRST_NAME,@EMAIL;
是约翰它为我工作,但, 无法选择所有三个colums同时 它给人一种错误。 查询:SELECT(@PFirstname,@PUsername,@PEmail) 错误代码:1241 操作数应包含1列(S) Howevr各个查询工作正常,像 CALL get_one_user_new(4,@ PUsername,@ PFirstname, @PEmail); #SELECT(@PFirstname); #SELECT(@PUsername); SELECT(@PEmail); – 2011-12-19 10:33:20
@NaveenKumar,不要在select中使用'()',只要:'CALL get_one_user_new(4,@ PUsername,@ PFirstname,@ PEmail); SELECT @PFirstname as firstname,@ PUsername as username,@ PEmail as email' – Johan 2011-12-19 11:17:05
Thank You Johan.Its Done .. – 2011-12-19 11:21:39