代码问题,大家来帮忙看看啊

本文介绍了一个使用PL/SQL创建的过程示例,该过程通过游标遍历产品信息表,并显示每种产品类型的详细信息。具体步骤包括定义变量、创建游标、遍历查询结果及输出相关信息。

SQL> create procedure product_cur_procedure
  2  as
  3  cur_pro_cate productinfo.category%type;            --存放产品类型编码
  4  cur_cate_name categoryinfo.categoryname%type;      --存放产品类型名称
  5  cur_proinfo productinfo%rowtype;           --存放productinfo行记录
  6
  7  cursor cur_category
  8  is
  9  select category from productinfo group by category;
 10
 11  begin
 12    open cur_category;
 13      loop
 14     fetch cur_category into cur_pro_cate;
 15     exit when cur_category%notfound;
 16     select categoryinfo.categoryname into cur_cate_name
  --16
 17             from categoryinfo
 18             where categoryid=cur_pro_cate;
 19     if sql%found then
 20             dbms_output.put_line('----------------------------------------')
;
 21             dbms_output.put_line(cur_cate_name||':');
 22
 23     end if;
 24     for yinshi in
 25             (select * from productinfo where category=cur_pro_cate)
 26
 27             loop
 28               dbms_output.put_line('产品名称'||yinshi.productname||
 29                                     '产品价格'||yinshi.productprice||
 30                                     '产品数量'||yinshi.quantity);
 31
 32             end loop;
 33
 34      end loop;
 35    close cur_category;
 36  end;
 37  /

过程已创建。

执行

SQL> exec product_cur_procedure;
BEGIN product_cur_procedure; END;

*
第 1 行出现错误:
ORA-01403: 未找到任何数据
ORA-06512: 在 "SCOTT.PRODUCT_CUR_PROCEDURE", line 16
ORA-06512: 在 line 1

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值