oracle record 遍历,如何获得record各列字段值

LZ的意思是把一个record变量赋值到另一个过程里面?

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

CREATE OR REPLACE PACKAGE record_test_package

IS

TYPE typ_ebe_rec IS RECORD (

id_1   NUMBER (10),

id_2   NUMBER (10),

id_3   NUMBER (10),

id_4   NUMBER (10),

id_5   NUMBER (10),

id_6   NUMBER (10),

id_7   NUMBER (10)

);

TYPE typ_ebe_rec_type IS TABLE OF typ_ebe_rec

INDEX BY BINARY_INTEGER;

PROCEDURE record_test (p_typ_ebe_rec_type OUT typ_ebe_rec_type);

END record_test_package;

/* Formatted on 2009/11/24 22:50 (Formatter Plus v4.8.8) */

CREATE OR REPLACE PACKAGE BODY record_test_package

IS

v_typ_ebe_rec_type   typ_ebe_rec_type;

PROCEDURE record_test (p_typ_ebe_rec_type OUT typ_ebe_rec_type)

AS

BEGIN

FOR i IN 1 .. 100

LOOP

p_typ_ebe_rec_type (i).id_1 := i;

END LOOP;

END;

END record_test_package;

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

上面是一个包,传出一个集合类型

下面的存储过程接收这个传出的集合类型

CREATE OR REPLACE PROCEDURE record_test

AS

v_typ_ebe_rec record_test_package.typ_ebe_rec_type;

BEGIN

record_test_package.record_test(v_typ_ebe_rec);

for i in 1..v_typ_ebe_rec.count

loop

dbms_output.put_line(v_typ_ebe_rec(i).id_1);

end loop;

END;

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

执行

BEGIN

record_test;

END;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值