PLSQL中的内存表--IndexByTable-创新互联

其实内存表有点类似于java中的数组,但是它有比起数组更强大的地方。

10年积累的成都网站建设、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有常宁免费网站建设让你可以放心的选择与我们合作。

1.首先来简单介绍内存表的作用:

  •  使用BINARY_INTEGER 类型构成的索引主键

  •   简单类型 或者用户自定义类型的字段作为具体的数组元素

2.如何来使用内存表类型呢?

   定义内存表类型

     TYPEtype_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/

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:PLSQL中的内存表--IndexByTable-创新互联
网站网址:http://myzitong.com/article/dgdjso.html