【发布时间】:2012-03-04 02:07:39
【问题描述】:
我希望能够在游标声明的 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.)
我很想知道这是否可以做到。我不想为每个可能的列定义多个存储过程。提前致谢。
【问题讨论】:
标签: mysql sql stored-procedures cursor sql-order-by