欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

MySQL 存储过程,参数无效,求解

程序员文章站 2024-01-09 14:46:52
...
    DROP PROCEDURE IF EXISTS market.app_get_list;
    DELIMITER //

    CREATE PROCEDURE market.app_get_list(IN orders VARCHAR(20), IN type TINYINT, IN offset INT, IN rows INT)
    BEGIN
        DECLARE done INT DEFAULT 0;
        DECLARE pack VARCHAR(40);
        DECLARE packages CURSOR FOR SELECT DISTINCT package FROM market_app ORDER BY orders DESC LIMIT offset, rows;
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; 

    OPEN packages;

    REPEAT
        FETCH packages INTO pack;
        IF NOT done THEN
            SELECT * FROM market_app WHERE package = pack ORDER BY versioncode DESC LIMIT 1;
        END IF;
    UNTIL done END REPEAT;

    CLOSE packages;
END//

    DELIMITER ;

现在参数orders不起作用,麻烦懂的人帮忙修改下,谢谢哈。

回复内容:

    DROP PROCEDURE IF EXISTS market.app_get_list;
    DELIMITER //

    CREATE PROCEDURE market.app_get_list(IN orders VARCHAR(20), IN type TINYINT, IN offset INT, IN rows INT)
    BEGIN
        DECLARE done INT DEFAULT 0;
        DECLARE pack VARCHAR(40);
        DECLARE packages CURSOR FOR SELECT DISTINCT package FROM market_app ORDER BY orders DESC LIMIT offset, rows;
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; 

    OPEN packages;

    REPEAT
        FETCH packages INTO pack;
        IF NOT done THEN
            SELECT * FROM market_app WHERE package = pack ORDER BY versioncode DESC LIMIT 1;
        END IF;
    UNTIL done END REPEAT;

    CLOSE packages;
END//

    DELIMITER ;

现在参数orders不起作用,麻烦懂的人帮忙修改下,谢谢哈。

相关标签: mysql php