如果我在查询中使用存储过程参数,MySQL查询将不会执行



我正在用查询创建一个非常简单的存储过程,但当我在查询中使用存储过程IN参数时,它会被卡住,不会执行查询,但如果我将值直接放入查询,它会工作。

这项工作:

CREATE PROCEDURE `cap-reports`.ffap_test()
BEGIN
select * FROM students WHERE name='Fernando';
END

这不是,我花了10分钟,它从未返回

CREATE PROCEDURE `cap-reports`.ffap_test(IN pName VARCHAR(10))
BEGIN 
select * FROM students WHERE name=pName;
END
call `cap-reports`.ffap_test('Fernando');

我在这里犯了什么错误?在之前我从未遇到过这个问题

这个过程对我有效。也许是过程的数据库和学生表的区别?还是缺少分号?

CREATE PROCEDURE `cap-reports`.ffap_test(IN pName VARCHAR(10))
BEGIN
select * FROM `cap-reports`.members m WHERE m.Username = pName;
END
;
CALL `cap-reports`.ffap_test('winkbrace');

最新更新