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

被折叠的 条评论
为什么被折叠?



