2015-02-23 53 views
0

我想將顯示結果的限制從0設置爲聲明變量的值。但是我在聲明變量時發現錯誤,它說:「#1064 - 你的SQL語法有錯誤。」我知道DECLARE語法只在BEGIN ... END聲明中被允許。但爲什麼我總是得到一個錯誤?

這是我嘗試:聲明變量時設置變量和錯誤的結果限制

BEGIN 
DECLARE panjang INT DEFAULT 0 
END; 

SET panjang := 10; 
SELECT * FROM `TABLENAME` 
limit 0, panjang 

能否請你告訴我這到底是怎麼失蹤了?我正在使用MySQL版本5.5.34。

回答

1
  1. 僅在存儲例程中允許DECLARE。
  2. 在一個存儲的例程中,你可以用一個變量來構造一個SELECT作爲LIMIT;這使用CONCAT,PREPARE和EXECUTE。

如果這個SELECT來自其他編程語言(PHP,VB,Java等),我建議你在那裏建立SQL,這樣你就不必學習存儲過程。

+0

所以,我必須創建程序對嗎?或者你知道如何設置限制,比如'... LIMIT 0,(從tablename2選擇count(*))? – 2015-02-23 05:01:32

+0

需要10-20行代碼來完成你所要求的。你真的需要它嗎? – 2015-02-23 05:09:01