SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 18.04.2011 22:49:54

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Куда деваются значения переменных?

Добрый вечер, у меня есть некий код Mysql который выполняется в цикле, и что самое интересное после завершения цикла жизни оказывается нет smile
Объясню на просто примере:


BEGIN DECLARE _a,_b,_c INT;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET _a=0;
SET _a=1;
bc: LOOP
IF(_a=0) THEN  LEAVE bc; END IF;
SELECT b,c INTO _b,_c
FROM tab WHERE b<>0 LIMIT 1;
UPDATE tab SET b=0
WHERE c=_c;
END LOOP bc;
SELECT _c,_b; #Выводим после завершения цикла переменные НО они принимают значения NULL
END
 


Почему так происходит то? По логике ведь должны быть в них данные последней выборки из таблице или я не прав?

Отредактированно simple (18.04.2011 22:59:44)

Неактивен

 

#2 18.04.2011 23:07:16

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Re: Куда деваются значения переменных?

Хм..перезагрузил сервер и заработало, а что такое могло быть то?

Неактивен

 

#3 19.04.2011 00:10:55

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Re: Куда деваются значения переменных?

мда...или у меня в машине вирусы или клиент глючный или сама база тормозит, то работает правильно, то выкидывает какие то фокусы с разными функциями. Вот к примеру функция LEAST(a,b) если ее применить к коду выше, то при значении сравниваемых чисел больше 9 она дает некорректные результаты. К примеру если сравнивать числа 11 и15 то клиент выдает на выходе окно со значением 1 и за ним еще открывает 10 окон что в совокупности значит получается числу 11..гыыы потом через некоторое время тот же код выполняется правильно как и должен быть выполнен. Случалось ли у кого такие глюки, подскажите а то я уже на базу грешить начал. Может это все таки клиент барахлит?

Неактивен

 

#4 19.04.2011 15:35:52

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Re: Куда деваются значения переменных?

Скажите а если локальные переменные в хранимой процедуре не брать в кавычки `` может из за этого база работать не адекватно или нет?

Неактивен

 

#5 20.04.2011 21:10:02

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Куда деваются значения переменных?

Если честно, ничего не понял. Скорее всего, простой пример рабочий,
а в реальном коде какая-то опечатка, которую сходу не видно. Переменные
в бэктики брать не нужно.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson