SQL 查询 returns 需要的数据,但是程序没有

SQL query returns necessary data, but the procedure doesn't

我需要创建一个过程,returns 来自两个表的条​​目列表。这是该过程的代码:

create or replace PROCEDURE goods_to_transfer
    IS
     begin
        for rec in (select sales.good_id, sales.good_count, goods.priority 
                    FROM goods,sales 
                    where sales.good_id=goods.id and sales.delivered='YES');
 
    loop
        
    dbms_output.put_line( 'GOOD ID' || rec.good_id);
    dbms_output.put_line( 'GOOD COUNT' || rec.good_count);
    dbms_output.put_line( 'PRIORITY' || rec.good_priority);

   end loop;
     end goods_to_transfer;

执行结束,出现以下错误:

ORA-01403: no data found ORA-06512: in "C##XSENIA.GOODS_TO_TRANSFER", line 7 ORA-06512: in line 2

同一个查询returns所有需要的数据:

select sales.good_id, sales.good_count, goods.priority FROM goods,sales 
        where sales.good_id=goods.id and sales.delivered='YES'

我想知道是否有人可以告诉我,我做错了什么。 谢谢!

尝试删除;在请求结束时

for rec in (select sales.good_id, sales.good_count, goods.priority 
                    FROM goods,sales 
                    where sales.good_id=goods.id and sales.delivered='YES')