如何从Oracle PL / SQL中的另一个SP中的游标返回信息中获取信息?

628

我想从另一个SP调用一个SP,该SP返回一个游标“ n”次,并使用游标读取其信息。

对于Oracle PL SQL中的一个SP,我具有以下代码:

create or replace procedure USP_FALTAN_REPORTE(cur_OUT out REF CURSOR) as
  vFaltantes_SP1      REF CURSOR
  vNumProyeto         NUMBER;
  vTemporalTable      NUMBER;
BEGIN
  DECLARE
    CURSOR proyectos is
      SELECT DISTINCT PROYECTO FROM TB_PROYECTOS;
  BEGIN
    FOR c1 in proyectos loop
      dbms_output.put_line('# proyecto: ' || c1.proyecto);
      vNumProyeto := c1.proyecto;       
      USP_FALTANTES(vNumProyeto , vFaltantes_SP1);
   end loop;
  end;
end;

我的问题是如何从SP USP_FALTANTES返回的游标vFaltantes_SP1中获取信息?

当我对USP_FALTANTES进行测试时,这也会返回类型为ref cursor的游标。

我已经尝试过类似的东西:

BEGIN
   OPEN vFaltantes_SP1; 
      LOOP
       FETCH vFaltantes_SP1 BULK COLLECT
         INTO vTemporalTable;
        CLOSE vFaltantes_SP1;            
          dbms_output.put_line(vTemporalTable.First);
      END LOOP;
END;

但是Oracle显示此错误:

PLS-00382:表达式的类型错误

该错误在OPEN vFaltantes_SP1中标记;

有人能帮我吗。

谢谢 :)

维尼什·卡普尔(Vinish Kapoor)

您应该删除打开的光标行,请尝试以下操作:

BEGIN
      LOOP
       FETCH vFaltantes_SP1 BULK COLLECT
         INTO vTemporalTable limit 1000;
      END LOOP;
        CLOSE vFaltantes_SP1;            
      for n in vTemporalTable.first .. vTemporalTable.last loop
             dbms_output.put_line(vTemporalTable(n));
      end loop;
END;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从另一个持有锁并导致死锁的会话中检查整个PL / SQL堆栈信息

来自分类Dev

从Oracle PL / SQL中的另一个包中获取记录类型的值

来自分类Dev

如何在PL / SQL ORACLE中强制退出另一个函数?

来自分类Dev

如何从选择选项和输入中获取信息,另一个输入?

来自分类Dev

如何从查询中的一个字段获取信息以在另一个查询中使用?

来自分类Dev

从PL / SQL调用另一个Oracle数据库中的过程

来自分类Dev

如何在PL / SQL游标中将多行“分组”到一个集合中?

来自分类Dev

Oracle多租户-在另一个容器中通过DBMS_SQL执行PL / SQL

来自分类Dev

如何修改此SQL查询以获取位于另一个表中的信息?

来自分类Dev

如何在其他pl / sql块中使用Oracle db中的信息输出?

来自分类Dev

如何检查Oracle PL / SQL Developer的时区

来自分类Dev

如何检查Oracle PL / SQL Developer的时区

来自分类Dev

如何在pl sql中的另一个父xml标记内分组聚合xml元素

来自分类Dev

如何将 DEFINE 变量设置为等于 PL/SQL 中另一个已定义表的选择

来自分类Dev

Oracle PL / SQL:函数游标

来自分类Dev

PL / SQL Oracle交互

来自分类Dev

Oracle 不是 pl/sql

来自分类Dev

如何在sqlplus中执行PL / SQL Oracle?

来自分类Dev

如何在Oracle PL / SQL中处理“超过请求的行数”

来自分类Dev

如何从数组的动态下拉列表中提取信息以发布到另一个表中

来自分类Dev

Oracle PL / SQL从循环到游标中收集值

来自分类Dev

Oracle PL / SQL从循环到游标中收集值

来自分类Dev

如何使用游标从多个表中获取信息?

来自分类Dev

如何将List <Map>的信息获取到Flutter中的另一个屏幕?

来自分类Dev

如何在另一个MS图形SDK中获取驱动器的信息

来自分类Dev

如何做一个函数从pl / sql中的表返回行类型?

来自分类Dev

Oracle修改sys refcursor并在PL / SQL中返回修改后的游标

来自分类Dev

SQL:如何使用另一个表中的信息选择某些内容

来自分类Dev

如何从Apex中的PL / SQL获取域名?

Related 相关文章

  1. 1

    如何从另一个持有锁并导致死锁的会话中检查整个PL / SQL堆栈信息

  2. 2

    从Oracle PL / SQL中的另一个包中获取记录类型的值

  3. 3

    如何在PL / SQL ORACLE中强制退出另一个函数?

  4. 4

    如何从选择选项和输入中获取信息,另一个输入?

  5. 5

    如何从查询中的一个字段获取信息以在另一个查询中使用?

  6. 6

    从PL / SQL调用另一个Oracle数据库中的过程

  7. 7

    如何在PL / SQL游标中将多行“分组”到一个集合中?

  8. 8

    Oracle多租户-在另一个容器中通过DBMS_SQL执行PL / SQL

  9. 9

    如何修改此SQL查询以获取位于另一个表中的信息?

  10. 10

    如何在其他pl / sql块中使用Oracle db中的信息输出?

  11. 11

    如何检查Oracle PL / SQL Developer的时区

  12. 12

    如何检查Oracle PL / SQL Developer的时区

  13. 13

    如何在pl sql中的另一个父xml标记内分组聚合xml元素

  14. 14

    如何将 DEFINE 变量设置为等于 PL/SQL 中另一个已定义表的选择

  15. 15

    Oracle PL / SQL:函数游标

  16. 16

    PL / SQL Oracle交互

  17. 17

    Oracle 不是 pl/sql

  18. 18

    如何在sqlplus中执行PL / SQL Oracle?

  19. 19

    如何在Oracle PL / SQL中处理“超过请求的行数”

  20. 20

    如何从数组的动态下拉列表中提取信息以发布到另一个表中

  21. 21

    Oracle PL / SQL从循环到游标中收集值

  22. 22

    Oracle PL / SQL从循环到游标中收集值

  23. 23

    如何使用游标从多个表中获取信息?

  24. 24

    如何将List <Map>的信息获取到Flutter中的另一个屏幕?

  25. 25

    如何在另一个MS图形SDK中获取驱动器的信息

  26. 26

    如何做一个函数从pl / sql中的表返回行类型?

  27. 27

    Oracle修改sys refcursor并在PL / SQL中返回修改后的游标

  28. 28

    SQL:如何使用另一个表中的信息选择某些内容

  29. 29

    如何从Apex中的PL / SQL获取域名?

热门标签

归档