我对存储过程很新。我正在尝试编写一个非常基本的存储过程。这是:
DELIMITER //
CREATE PROCEDURE `getname` (IN a_id INT, OUT a_name VARCHAR(50))
BEGIN
SELECT name INTO a_name FROM tblname WHERE id = a_id;
END //
DELIMITER ;
我有一个非常简单的数据库,其中包含一个表,其中一行包含id 1,字符串值为name。每次我调用的程序如下:
CALL getname(1, @a_name);
SELECT @a_name;
它总是返回NULL值:(
我在这个简单的问题上坐了4个小时,但仍然没有运气。希望得到你们的解决方案。
顺便说一下,我使用XAMPP 1.7.1 for Windows 32位,MySQL版本是5.1.33。答案 0 :(得分:0)
尝试此会话 -
CALL getname(1, @a_name);
SELECT @a_name;
SELECT * FROM tblname WHERE id = 1; -- Is there any result?
如果result不为空,则尝试从过程 -
运行此SELECT语句...
BEGIN
SELECT * FROM tblname WHERE id = 1;
END//
...
再次打电话给它。