循环内的光标只返回最后一条记录

何亚力

我正在尝试从 table1 中获取 ID,并根据检索到的 ID 从 table2 中选择数据。所以我打开了一个 cursor1 来检索这些 ID,然后我尝试遍历它并用 table2 的详细信息填充 cursor2。调试时我意识到 cursor1 已正确填充,循环工作正常,但只返回最后一条记录。以下是我的oracle程序:

PROCEDURE TEST_LIST(P_ITEM_ID    NUMBER,                                
                    P_REFCUR     OUT SYS_REFCURSOR) AS  

  BEGIN

      DECLARE CURSOR  V_REFCUR  is
              SELECT T.ID
              FROM MY_TABLE_NAME T
              WHERE T.ITEM_ID = P_ITEM_ID;  

      BEGIN

        FOR V IN V_REFCUR LOOP
          IF V.ID IS NOT NULL THEN
            OPEN P_REFCUR FOR  
              SELECT G.*                             
              FROM MY_SECOND_TABLE G
              WHERE G.ID = V.ID
              ORDER BY G.TABLE_DATE;
          END IF;
        END LOOP;
      END;

  END TEST_LIST;

我怎样才能返回整个列表?我是 SQL 新手,感谢您的帮助。

阿尔卡迪乌什·尤卡谢维奇

您不需要第一个光标。在第一个和第二个表之间进行简单的连接。

PROCEDURE TEST_LIST(P_ITEM_ID    NUMBER,                                
                    P_REFCUR     OUT SYS_REFCURSOR) AS  

  BEGIN
            OPEN P_REFCUR FOR  
              SELECT G.*                             
              FROM MY_SECOND_TABLE G
              join MY_TABLE_NAME T
              on G.ID = T.ID
              WHERE T.ITEM_ID = P_ITEM_ID
              ORDER BY G.TABLE_DATE;

   END;

  END TEST_LIST;

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel 5-Foreach 循环只保存最后一条记录?

来自分类Dev

SQLite 查询只返回第一条记录

来自分类Dev

While循环仅插入最后一条记录

来自分类Dev

php Foreach循环仅提取最后一条记录

来自分类Dev

ResultSet仅返回表中的最后一条记录

来自分类Dev

PHP json foreach仅返回最后一条记录

来自分类Dev

sql查询不检索所有记录只检索最后一条记录

来自分类Dev

将文件写入数组它只写入我数组中的最后一条记录

来自分类Dev

MySQL JOIN最后一条记录

来自分类Dev

读取文件的最后一条记录

来自分类Dev

查看每组的最后一条记录

来自分类Dev

R-检查每个ID /循环每天的第一条和最后一条记录

来自分类Dev

MySQL返回第一条和最后一条记录以获取连续相同的结果

来自分类Dev

为什么只从该PHP数组返回第一条记录?

来自分类Dev

如何为每种类型只返回一条记录?

来自分类Dev

为什么只从该PHP数组返回第一条记录?

来自分类Dev

为什么我的SQL语句只返回一条记录?

来自分类Dev

使用Laravel返回一对多口才关系中的最后一条记录

来自分类Dev

仅返回一条记录

来自分类Dev

PHP:循环中的array_push仅导致最后一条记录重复

来自分类Dev

经典ASP Do While循环仅显示最后一条记录

来自分类Dev

首先使用JavaScript中的for循环加载最后一条记录

来自分类Dev

循环后提交更改-仅保存最后一条记录

来自分类Dev

如何从最后一条记录 JQuery 在 JSON 中进行循环

来自分类Dev

PHP exec() 只执行最后一条命令?

来自分类常见问题

在分组查询中选择以返回该分组的最后一条记录

来自分类Dev

如何在Codeigniter中从数据库返回最后一条记录?

来自分类Dev

在分组查询中选择以返回该分组的最后一条记录

来自分类Dev

如何返回具有多个状态的表中的最后一条记录

Related 相关文章

  1. 1

    Laravel 5-Foreach 循环只保存最后一条记录?

  2. 2

    SQLite 查询只返回第一条记录

  3. 3

    While循环仅插入最后一条记录

  4. 4

    php Foreach循环仅提取最后一条记录

  5. 5

    ResultSet仅返回表中的最后一条记录

  6. 6

    PHP json foreach仅返回最后一条记录

  7. 7

    sql查询不检索所有记录只检索最后一条记录

  8. 8

    将文件写入数组它只写入我数组中的最后一条记录

  9. 9

    MySQL JOIN最后一条记录

  10. 10

    读取文件的最后一条记录

  11. 11

    查看每组的最后一条记录

  12. 12

    R-检查每个ID /循环每天的第一条和最后一条记录

  13. 13

    MySQL返回第一条和最后一条记录以获取连续相同的结果

  14. 14

    为什么只从该PHP数组返回第一条记录?

  15. 15

    如何为每种类型只返回一条记录?

  16. 16

    为什么只从该PHP数组返回第一条记录?

  17. 17

    为什么我的SQL语句只返回一条记录?

  18. 18

    使用Laravel返回一对多口才关系中的最后一条记录

  19. 19

    仅返回一条记录

  20. 20

    PHP:循环中的array_push仅导致最后一条记录重复

  21. 21

    经典ASP Do While循环仅显示最后一条记录

  22. 22

    首先使用JavaScript中的for循环加载最后一条记录

  23. 23

    循环后提交更改-仅保存最后一条记录

  24. 24

    如何从最后一条记录 JQuery 在 JSON 中进行循环

  25. 25

    PHP exec() 只执行最后一条命令?

  26. 26

    在分组查询中选择以返回该分组的最后一条记录

  27. 27

    如何在Codeigniter中从数据库返回最后一条记录?

  28. 28

    在分组查询中选择以返回该分组的最后一条记录

  29. 29

    如何返回具有多个状态的表中的最后一条记录

热门标签

归档