0
我想能夠在遊標聲明的order by子句中使用參數變量。我正在使用MySQL 5.5.21。這是我嘗試使用的代碼。沒有錯誤,但輸出未按照我在參數中提供的列進行排序。有沒有辦法在遊標聲明的ORDER BY子句中有一個變量?
CREATE PROCEDURE getData(IN start_id INT, IN end_id INT, IN col_sort VARCHAR(16), IN max_date DATE)
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE id_num INT;
DECLARE rid_num LONG;
DECLARE cur1 CURSOR FOR SELECT `ID`,`rid` FROM `clients` WHERE `rid` > 0 AND `date_live` < max_date ORDER BY col_sort LIMIT start_id, end_id;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur1;
(etc.)
我很好奇,看看是否可以這樣做。我不想爲每個可能的列定義多個存儲過程。提前致謝。
酷!我沒有想到使用CASE。 – 2012-03-04 03:13:57