将该代码复制,保存为cursor-open-for.tst,在PL/SQL中作为测试脚本可以直接运行

表结构如下:

create table products

(

product_id number,

product_type_id number,

name varchar2(100),

price number

);

------------------------------------

corsor-open-for.tst

------------------------------------

declare

-- 1声明一个引用游标类型(ref cursor 是指向游标的指针)

type t_product_cursor is

ref cursor return products%rowtype;

-- 2声明变量

-- 声明一个类型为引用游标类型的变量

v_product_cursor t_product_cursor;

v_product v_product_cursor%rowtype;

begin

-- 3open-for方式打开游标(该句执行后,符合条件的数据会加载到v_product_cursor)

open v_product_cursor for

select product_id,product_type_id,name,price

from products

where price < 50;

--

loop

-- 4抓取数据

fetch v_product_cursor into v_product;

exit when v_product_cursor%notfound;

dbms_output.put_line(' p_id = ' || v_product.product_id ||

' p_type_id = ' || v_product.product_type_id ||

' p_name = ' || v_product.name ||

' p_price = ' || v_product.price);

end loop;

-- 5关闭游标

close v_product_cursor;

end;

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐