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

时间:2018-11-09 12:46:20

标签: mysql sql stored-procedures

我正在使用查询创建一个非常简单的存储过程,但是当我在查询中使用存储过程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');

我在这里犯什么错误?我从来没有遇到过这个问题

1 个答案:

答案 0 :(得分:0)

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

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');