KES数据库集合类型

本文介绍了Oracle数据库中的三种集合类型:关联数组(按键值对存储)、嵌套表(无序存储行)和可变数组(动态大小)。重点讲解了它们的特性、语法和使用场景。
摘要由CSDN通过智能技术生成

关键字:

Associative Array、Nested Table、Varray
1. 集合类型概述
集合类型是一种复合类型,包括以下三种:
关联数组(Associative Array)
嵌套表(Nested Table)
可变数组(Varray)
2. 关联数组

关联数组是一组键值对。每个键都是一个唯一的索引,用于定位与之相关联的值,具有唯一键值的集合类型
其具有以下特性:
   包含零或多个具有相同数据类型的元素
   用户可按键值检索
   键值可是整型等数值类型,也可是字符串等非数值类型
   键值连续且有序
   只能用于PL/SQL环境
语法:
    TYPE assoc_type_name   IS TABLE OF  element_type [ NOT NULL ]  INDEX BY index_type;
   index_type ::= INT | VARCHAR | VARCHAR2 | TEXT
3. 可变数组

可变数组是一个数组,其元素数为从零(空)到声明的最大值之间,大小不等。
要访问可变数组变量的元素,可以使用语法 variable_name(index)。指数的下限为 1;上限是当前元素的数量。上限在添加或删除元素时会发生变化,但不能超过声明时指定的最大值。从数据库中存储和检索可变数组时,其索引和元素顺序保持对应。未初始化的可变数组变量是一个空集合。必须通过构造函数或者为其赋予一个非空的值来初始化它。下标类型为INT且从1开始
与嵌套表不同表现在:
   可变数组在定义时需指定最大元素个数,且实际应用中不能超过该限制
   可变数组的下标必须连续
   删除元素时,可变数组不能使用delete(n)和delete(m,n)方法,但可使用delete()方法(即删除所有元素)
语法:
TYPE varray_type_name IS VARRAY (size_limit) OF  element_type [ NOT NULL ];
4. 嵌套表

在数据库中,嵌套表是一种可以不指定顺序来存储未指定数量的行的类型。
从数据库中检索嵌套表值到 PL/SQL 嵌套表变量时,PL/SQL 会从 1 开始为行提供连续索引。使用这些索引,
可以访问嵌套表变量的各个行。从数据库中存储和检索嵌套表时,嵌套表的索引和行顺序可能会不稳定。当添加或删除元素时,嵌套表变量占用的内存量可以动态的增加或减少。未初始化的嵌套表变量是一个 NULL 集合。必须通过构造函数或为其赋予非空值来初始化它基于键-值对的集合类型。
与关联数组相比,它的键值只能为整型,即从1开始的连续值必须使用和其同名的构造函数进行初始化
语法:
TYPE nest_table_type_name IS TABLE OF  element_type  [ NOT NULL ];
  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值