我尝试了一切但没有任何作用。我有这个存储过程:
DROP PROCEDURE IF EXISTS socios;
CREATE PROCEDURE socios(in nombre_u varchar(25), out socios INT)
BEGIN
SELECT COUNT(*)
INTO socios
FROM socio
WHERE NOMBRE_U = nombre_u;
END
不工作的情况;我该怎么办?
答案 0 :(得分:0)
对于函数参数和列名使用相同的名称会有名称歧义。而是使用一些其他相关名称,如下例所示:
DROP PROCEDURE IF EXISTS socios;
CREATE PROCEDURE socios(in _nombre_u varchar(25), out socios INT)
BEGIN
SELECT count(*) into socios FROM socio where NOMBRE_U = _nombre_u;
END;
其中一个类似的答案:
https://stackoverflow.com/a/23867775/767881
答案 1 :(得分:0)
您的查询,
DROP PROCEDURE IF EXISTS socios;
CREATE PROCEDURE socios ( in nombre_u varchar(25), out socios INT)
BEGIN SELECT count(*) into socios FROM socio where NOMBRE_U=nombre_u;
END;
应改为:
DROP PROCEDURE IF EXISTS socios;
CREATE PROCEDURE socios ( in pnombre varchar(25), out psocios INT)
BEGIN SELECT count(*) into psocios FROM socio where NOMBRE_U=pnombre;
END;
您的主要错误只是变量命名......