我希望能够在游标声明的order by子句中使用参数变量。我正在使用MySQL 5.5.21。这是我尝试使用的代码。没有错误,但是输出未按我在参数中提供的列进行排序。
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.)
Run Code Online (Sandbox Code Playgroud)
我很好奇,看看是否可以做到。我不想为每个可能的列定义多个存储过程。提前致谢。