PLSQL中的内存表--Index By Table
其实内存表有点类似于java中的数组,但是它有比起数组更强大的地方。
1.首先来简单介绍内存表的作用:
使用BINARY_INTEGER 类型构成的索引主键
简单类型 或者用户自定义类型的字段作为具体的数组元素
2.如何来使用内存表类型呢?
定义内存表类型
TYPE type_name IS TABLE OF 存储类型(number , employees.last_name%TYPE , employees%ROWTYPE , varchar2)
INDEX BY (BINARY_INTEGER,varchar2(80)..)
---varchar2(80)表示下标可以通过字符串来访问,这比java中数组功能强大
声明该类型变量
identifier type_name
3.内存表中的一些属性和方法
赋值:
identifier(1) := 'Jams' --这是index by binary_integer
identifier('A') := 'Jams' -- 这是index by varchar2
与java中数组区别就是内存表可以用字符串作为下标
3-1.count方法:
identifier.count --返回内存表中行的数目
3-2.exists方法:
identifier.exists(1) --判断下标为1的元素存不存在
3-3.first 和 last属性:
first:返回第一行的索引
last: 返回最后一行的索引
first 和 last的用法: 一般使用在遍历内存表的情况
这里必须注意两点: 1.如果内存表中没有任何数据,但是你却通过这种方式遍历它,会报错,所以在遍历前应该用 count方法来做一次判断 2.假如内存表中的数据下标不连续怎么办? 比如 内存表只有identifier(2), identifier(5), 当遍历到下标为1,3,4时,要做异常或报错处理,否则会报错。 |
3-4.delete方法:
identifier.delete(1) --删除内存表中下标为1的元素
identifier.delete --删除内存表所有元素
3-5.next和prior属性:
identifier.next(1) --返回内存表中下标为1行的下一行索引
identifier.prior(2) --返回内存表中下标为2行的上一行索引
这里附带上INDEX BY BINARY_INTEGER的作用
--http://blog.itpub.net/26690043/viewspace-722081/
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341