У меня возникла проблема при попытке использовать переменную timestamp в цикле хранимой процедуры. В дальнейшем, gtime является входной переменной ТШЕЗТАМР и образцы является входным целочисленной переменнойпеременные mysql и цикл в хранимой процедуре
...
DECLARE t TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
DECLARE i,step INT DEFAULT 0;
SET t = gtime;
myLabel: LOOP
IF i = samples THEN
LEAVE myLabel;
END IF;
SELECT a, b FROM myTable
WHERE myField = 1
AND g_time > t
AND g_time < '2011-09-06 00:00:09';
SET i = i + 1;
SET t = t + 1500;
ITERATE myLabel;
END LOOP myLabel;
...
В то время как я изменить его значение должным образом, и цикл выполняется для «образцов» времена, т не влияет, и, таким образом, Выражение SELECT не работает. Значение переменной t всегда имеет свое первоначальное значение.
Любые идеи, почему переменная t остается неизменной? Я также попытался использовать инструкцию while, но проблема осталась прежней. Запрещено ли использовать переменные в SELECT, которые меняются с циклом?
К сожалению, это не сработало. T остается неизменным. Я пробовал также \t \t \t SET t = TIMESTAMPADD (MINUTE, 60, t); но не удаляем. Что происходит не так? Это вопрос формата даты? – Fotakis