首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

初次尝试施用mysql的存储过程,取不出数据

2012-12-15 
初次尝试使用mysql的存储过程,取不出数据本人初次尝试使用mysql的存储过程。set @var1 0call updateProd

初次尝试使用mysql的存储过程,取不出数据
本人初次尝试使用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 ;
[最优解释]
mysql语法不熟悉,但是思路应该都是差不多,抓不到数据,是否是表本身就没数据(或insert后没有提交),又或者你的查询指令条件有问题导致没抓到符合条件的数据,这个可以利用debug或者增加打印语句都可以慢慢试出来。
[其他解释]
发错版块了,大哥,这里是ORACLE版块

热点排行