我在 mysql 中的存储过程有问题
I have problems with a stored procedure in mysql
我尝试了所有方法,但没有任何效果。我有这个存储过程:
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 _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 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;
你的主要错误只是变量命名...
我尝试了所有方法,但没有任何效果。我有这个存储过程:
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 _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 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;
你的主要错误只是变量命名...