1
我試圖在存儲過程的循環中使用時間戳變量時遇到問題。在下文中,gtime是時間戳記輸入變量和樣品是一個INTEGER輸入變量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;
...
而I適當地改變其值,並且所述環爲「樣品」次執行時,所述噸不受影響,因此SELECT語句無法正常工作。 t變量始終是其原始值。
任何想法爲什麼t變量保持不變?我儘量使用while語句,但問題依然存在。是否禁止在使用循環更改的SELECT中使用變量?
不幸的是,它不起作用。 t保持不變。我也試過\t \t \t SET t = TIMESTAMPADD(MINUTE,60,t); 但沒有運氣。出了什麼問題?它是時間戳格式問題嗎? – Fotakis