PLSQL中的内存表--Index By Table
admin
2023-06-09 01:21:36
0

其实内存表有点类似于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的用法:

  一般使用在遍历内存表的情况

for i in identifier.first .. identifier.last  loop

 ............
end loop

这里必须注意两点:

   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/

相关内容

热门资讯

抵达!神舟二十三号载人飞船与空... 据中国载人航天工程办公室消息,神舟二十三号载人飞船入轨后,于北京时间2026年5月25日2时45分,...
神舟二十三号载人飞船发射取得圆... 5月24日,搭载神舟二十三号载人飞船的长征二号F遥二十三运载火箭在酒泉卫星发射中心点火发射。神舟二十...
伊朗总统准备向世界保证不寻求核... 伊朗总统佩泽希齐扬5月24日在接受采访时表示,“伊朗准备向全世界保证,正如已故伊朗最高领袖阿里·哈梅...
火星上出现一摞整齐叠放的石头,... 那是谁干的? 毅力号火星车在火星上发现了一摞整齐叠放的石头。NASA / JPL-Caltech ...
八国发表联合声明,谴责以色列国... △以色列国家安全部长伊塔马尔·本-格维尔(资料图)当地时间24日,阿联酋、约旦、土耳其、埃及、印度尼...
神舟二十三号载人飞船发射升空 IT之家 5 月 24 日消息,刚刚,搭载神舟二十三号载人飞船的长征二号 F 遥二十三运载火箭在酒泉...
浙江上线“创新积分制”数智平台 来源:中国新闻网 中新网杭州5月24日电(鲍梦妮)5月24日,在2026年浙江省“全国科技活动周”上...
国内知名冷门绝学大咖齐聚深圳,... 本文转自【光明日报】; 5月22日上午,作为2026文化强国建设高峰论坛重要组成部分,首届冷门绝学传...
神舟二十三号载人飞行任务航天员... 据微信公众号“中国载人航天”消息,5月24日20时16分,神舟二十三号载人飞行任务航天员乘组出征仪式...
以总理:同特朗普一致认为须消除... 新华社耶路撒冷5月24日电(记者庞昕熠 王卓伦)以色列总理内塔尼亚胡24日在社交平台发文称,他和美国...