创建一个带有输入参数的存储过程proc_1:查询出库存量最少的n条商品信息;然后调用执行该存储过程。

输入一个数字,如果库存量stocks小于n,则查询所有库存量小于n的商品信息


DELIMITER //
CREATE PROCEDURE proc_1 (IN n INT)
BEGIN
    IF (SELECT COUNT(*) FROM products WHERE stocks >= n) >= n THEN
        SELECT * FROM products WHERE stocks >= n ORDER BY stocks ASC LIMIT n;
    ELSE
        SELECT * FROM products WHERE stocks < n;
    END IF;
END //
DELIMITER ;

CALL proc_1(这里输入出库存量最少的几条商品信息,比如3 4 5);