记录Record、PL/SQL表和二维数组

一、什么是记录RecordPL/SQL表?记录Record:由单行多列的标量类型构成的临时记录对象类型。类似于多维数组。
PL/SQL
表:由多行单列的索引列和可用列构成的临时索引表对象类型。类似于一维数组和键值对。两者都属于用户自定义数据类型。二、Record + PL/SQL 用途是什么?
Record + PL/SQL
表可以进行数据的多行多列存储。这样我们就可使用Record + PL/SQL表在需要时封装一个临时的表对象,进行传递和操作。通过Record自定义表结构,封装一条记录。PL/SQL表声明 可用列 类型为Record类型(将可用列指向Record类型变量),每个索引对应一个Record类型变量。三、使用Record + PL/SQL表进行数据的多行多列存储
1
、声明Record类型和PL/SQL表,其中PL/SQL表的索引列为主键约束和唯一约束列或自增Integer。可用列为Record类型或%RowType类型。
2
、填充PL/SQL表可用列(Record类型):通过索引指向Record,使用Record访问记录成员。语法:
PL/SQL
表名(索引列值).记录成员 := 记录成员类型值;PL/SQL表名(索引列值) := Record类型变量;
--
注意其PL/SQL表中声明的可用列要和这里赋值的Record类型变量结构一样
3
、访问PL/SQL
4
、属性方法:
count --
返回pl/sql表的总行数;
delete --
删除pl/sql表的所有内容;
delete(
行数) --删除pl/sql表的指定的行;
delete(
开始行,结束行) --删除pl/sql表的多行;
first --
返回表的第一个INDEX;
next(
行数) --这个行数的下一条的INDEX;
last --
返回表的最后一个INDEX;

[@more@]

例:

CREATE OR REPLACE PROCEDURE PRO_EBFX_MAIN(SQL_IN VARCHAR2) IS

----CREATE BY TANGYUN------------------------------

----2010-10-09------------------------------------

-----二八分界线------------------------------------

TYPE EBFX_REC IS RECORD(

XD VARCHAR2(100),

YD NUMBER);

TYPE EBFX_TAB IS TABLE OF EBFX_REC;

DATA_TAB EBFX_TAB; ---用于存放传进来的参数数组

---返回记录表

---XH:序号、PYDY值百分比、SPXD:X值累计百分比

TYPE EBFX_REC6 IS RECORD(

XH NUMBER,

XD VARCHAR2(100),

YD NUMBER,

PYD NUMBER,

SPXD NUMBER,

SPYD NUMBER);

TYPE PLSQL_TAB6 IS TABLE OF EBFX_REC6 INDEX BY BINARY_INTEGER;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24930246/viewspace-1041615/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24930246/viewspace-1041615/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值