2015-04-24 8 views
0

Я попробовал все, но ничего не работает, у меня есть эта процедура магазина:я проблемы с процедурой магазина в 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 

условия, где не работает .... Что я могу сделать?

+0

вам нужно указать mysql, какой из этих numbre_u является параметром sproc и который является полем в вашей таблице ... иначе он будет просто выполнен как эквивалент ' где верно. –

ответ

0

Было бы имя имя ambiguity, в котором вы используете одинаковые имена для параметров функций и имен столбцов. Вместо того, чтобы использовать другие соответствующие имена, как показано в примере ниже:

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

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; 

Вы r основная ошибка была просто переменной именования ...

 Смежные вопросы

  • Нет связанных вопросов^_^