本人初次尝试使用mysql的存储过程。
set @var1 = 0;
call updateProductActivity(@var1);
select @var1;从数据库只查询一行数据的order_id,却提取不出来数据。请教这是为什么?
高手帮帮我吧!!!
-----------------------------------------------------------------------------------以下是自定义的存储过程:DELIMITER $$DROP PROCEDURE IF EXISTS `test`.`updateProduct`$$CREATE PROCEDURE `updateProduct`(out result int(10))
BEGIN
DECLARE order_id INT;
DECLARE no_more_order INT DEFAULT 0;
DECLARE order_csr CURSOR FOR SELECT order_id FROM test.order_product WHERE 1=1 LIMIT 1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_order=1;
OPEN order_csr;
REPEAT
FETCH FROM order_csr INTO order_id;
SET result = order_id;
UNTIL no_more_order END REPEAT;
CLOSE order_csr;
END$$DELIMITER ;
set @var1 = 0;
call updateProductActivity(@var1);
select @var1;从数据库只查询一行数据的order_id,却提取不出来数据。请教这是为什么?
高手帮帮我吧!!!
-----------------------------------------------------------------------------------以下是自定义的存储过程:DELIMITER $$DROP PROCEDURE IF EXISTS `test`.`updateProduct`$$CREATE PROCEDURE `updateProduct`(out result int(10))
BEGIN
DECLARE order_id INT;
DECLARE no_more_order INT DEFAULT 0;
DECLARE order_csr CURSOR FOR SELECT order_id FROM test.order_product WHERE 1=1 LIMIT 1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_order=1;
OPEN order_csr;
REPEAT
FETCH FROM order_csr INTO order_id;
SET result = order_id;
UNTIL no_more_order END REPEAT;
CLOSE order_csr;
END$$DELIMITER ;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货