首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从具有游标的存储过程中获取数据

如何从具有游标的存储过程中获取数据
EN

Stack Overflow用户
提问于 2012-09-05 10:00:56
回答 1查看 1.9K关注 0票数 0

我有一个存储过程:

代码语言:javascript
复制
DELIMITER //
DROP PROCEDURE IF EXISTS cursor_example//

CREATE PROCEDURE cursor_example()
BEGIN
    DECLARE niche_id INT;
    DECLARE niche_name VARCHAR(100);

    DECLARE curl CURSOR FOR SELECT * FROM `niche`;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;

    OPEN curl;
    my_loop:LOOP
        FETCH curl INTO niche_id, niche_name;
        IF done=1 THEN
            LEAVE my_loop;
        END IF;
    END LOOP my_loop;
    CLOSE curl;
END//

DELIMITER ;

问题是,在游标完成迭代之后,如何将小生境id和niche_name行从游标中删除。我不能作为变量从存储过程中获得结果集,不是吗?那么,用于存储过程的游标主要用于内部目的吗?

EN

回答 1

Stack Overflow用户

发布于 2012-09-05 10:21:05

如果结果是-“标量值”,那么您可以使用其中一个变体:

  1. 从过程中运行SELECT niche_id, niche_name;
  2. 用掉计量器。

如果结果是一组值,那么您应该填充另一个表,例如临时表。

另外,如果您想从表中读取一些数据并将其存储到另一个表中,请尝试使用插入..。选择语句而不是打开游标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12278891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档