在 SQL Developer 中使用游标为每条记录生成后续查询

问题描述 投票:0回答:1

我有一个 SQL Developer 查询,我想在其中使用游标来生成后续的选择语句。

但是,我做错了什么。我似乎没有正确使用光标。

这是迄今为止我的代码。非常感谢。

DECLARE

  numMaterials  NUMBER := 0;

  CURSOR item_id_cur
      IS
       select id from item_h
       where value = 'myvalue';
                 
    l_item_id   item_id_cur%ROWTYPE;
BEGIN

  OPEN item_id_cur;

  LOOP
    FETCH item_id_cur INTO l_item_id;
    EXIT WHEN item_id_cur%NOTFOUND;

    SELECT count(*)
     INTO numMaterials
     FROM item_material_h
        WHERE fk_item = l_item_id;    --Does NOT like this line!!
    
    DBMS_OUTPUT.put_line (numMaterials);
   
  END LOOP; 
END;
oracle-sqldeveloper
1个回答
0
投票

您必须引用特定的列,即

WHERE fk_item = l_item_id.id;   

因为

CURSOR item_id_cur IS select id from item_h
                             --
                             this
© www.soinside.com 2019 - 2024. All rights reserved.