写了一个存储过程
CREATE DEFINER=`root`@`%` PROCEDURE `api`(
product_id varchar(255)
)
BEGIN
DECLARE p_sql varchar(500);
DECLARE p_type varchar(100);
DECLARE ct INT DEFAULT 0;
DECLARE content_count INT;
SELECT product_masters.product_type INTO p_type FROM product_masters, products
WHERE product_masters.id = products.product_master_id and products.id = product_id;
SET p_sql = CONCAT('SELECT contents.* FROM contents INNER JOIN product_contents ON contents.id = product_contents.content_id WHERE product_contents.product_id =\'', product_id, '\' AND contents.enable = true AND contents.deleted is false AND product_contents.deleted is false');
IF p_type = 'monthly' THEN
SET @sql = CONCAT(p_sql, ' order by contents.created_at desc');
ELSEIF p_type = 'set' THEN
SET @sql = CONCAT(p_sql, ' order by contents.cid desc');
ELSE
SET @sql = p_sql;
END IF;
PREPARE sl FROM @sql;
EXECUTE sl;
DEALLOCATE PREPARE sl;
-- loop s1
END
sl是执行得到的结果集,怎么从这里面循环? 查了好多资料,不知道怎么写了
2月11日 17:09