Всем доброе время суток. Сижу смотрю на код и никак не могу вьехать, что не так и почему не отрабаватыет. Есть хранимая процедура:
| Код | BEGIN DECLARE cursor_finished INTEGER DEFAULT 0; DECLARE PriceGet FLOAT; DECLARE MenuidGet INT(11); DECLARE CustIdGet id(11); DECLARE TOTAL_COST FLOAT;
DECLARE cur1 CURSOR FOR select a.price, a.id from menu a where FIND_IN_SET (a.id, menu_id_ins);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET cursor_finished = 1;
-- SELECT id INTO CustIdGet FROM customers where `COUNTRY` = SUBSTRING(tel_num_ins,1,3) and `CODE` = SUBSTRING(tel_num_ins,4,2) and `TELNUM` = SUBSTRING(tel_num_ins,6,7);
SET @I=1;
SET TOTAL_COST = 0.00;
OPEN cur1;
REPEAT FETCH cur1 INTO PriceGet, MenuidGet;
IF cursor_finished = 0 THEN
SET TOTAL_COST=TOTAL_COST+PriceGet;
SET @I=@I+1;
END IF;
Until cursor_finished END REPEAT; CLOSE cur1; SELECT TOTAL_COST;
END
|
при таком раскладе курсор отрабатывает нормально, но стоит только расскоментировать строку
| Код | SELECT id INTO CustIdGet FROM customers where `COUNTRY` = SUBSTRING(tel_num_ins,1,3) and `CODE` = SUBSTRING(tel_num_ins,4,2) and `TELNUM` = SUBSTRING(tel_num_ins,6,7);
|
процедура перестает входи в курсор SELECT TOTAL_COST выводит 0.00
Подскажите, в чем может быть проблема? Заранее спасибо
|