0
我想編寫一個程序:可以將單元關鍵字保存到MYSQL中的變量中嗎?
CREATE PROCEDURE `addByType`(IN myDate DATETIME, IN myType INT, OUT output DATETIME)
BEGIN
DECLARE unit ?;
CASE
WHEN myType = 1 THEN
SET unit = HOUR;
WHEN myType = 2 THEN
SET unit = DAY;
...
END CASE;
SELECT TIMESTAMPADD(unit, 1, myDate) INTO output;
END
是否有可能以某種方式?我可以將單元關鍵字存入變量嗎?還是有另一種方法來實現相同?
非常感謝。我從你的代碼中編輯了一些小問題,但除此之外,它對我來說非常合適。 我不知道爲什麼我必須引入@output變量,但是我得到「錯誤1327(42000):未聲明的變量:輸出」沒有它。 – 2013-02-27 18:40:54
我找到原因: 「局部變量只在存儲程序執行期間處於作用域中,在準備好的語句中不允許對它們進行引用,因爲這些引用對於當前會話是全局的,並且當語句執行時變量可能超出了作用域「。 (http://dev.mysql.com/doc/refman/5.0/en/local-variable-scope.html) – 2013-02-27 21:49:38