我创建了一个测试表。它有三个字段 id、名称和城市。
create table testtable
(
id int,
name varchar(100),
city varchar(100)
)
表记录为
insert into testtable values(1,'Sanjay','Rajkot');
insert into testtable values(2,'Ravi','Ahmedabad');
我还创建了一个名为 sp_testtable 的过程。
DELIMITER //
create procedure sp_testtable
(
in city varchar(100)
)
BEGIN
select * from testtable where city = city;
END //
DELIMITER ;
当我调用存储过程时
CALL sp_testtable('Rajkot');
结果是..
但是我需要这样......
我不知道出了什么问题......请告诉我......
最佳答案
尝试将变量名称更改为另一个变量名称。 例如:
DELIMITER //
create procedure sp_testtable
(
in city_name varchar(100)
)
BEGIN
select * from testtable where city = city_name;
END //
DELIMITER ;
Sql 期望您比较同一列,结果始终为 true。
关于MySQL存储过程响应错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30148350/