【本文详细介绍了Oracle数据库扩展语言PL/SQL中集合的基本概念和使用方法,欢迎读者朋友们阅读、转发和收藏】,今天小编就来聊一聊关于oracle数据库常用的函数?接下来我们就一起去研究一下吧!
oracle数据库常用的函数
【本文详细介绍了Oracle数据库扩展语言PL/SQL中集合的基本概念和使用方法,欢迎读者朋友们阅读、转发和收藏!】
1 基本概念1.1 集合的概念集合就是相同类型的元素的有序合集。它是一个通用的概念,其中包含了列表、数组和其他相似的数据类型。每一个元素都有唯一的下标来标识当前元素在集合中的位置。 PL/SQL 提供了以下几种集合类型:
1. 索引表,也称为关联数组,可以让我们使用数字或字符串作下标来查找元素。 ( 这有点和其他语言中的哈希表相类似。 )
2. 嵌套表可以容纳任意个数的元素,使用有序数字作下标。我们可以定义等价的 SQL 类型,把嵌套表存到数据库中去,并通过 SQL 语句进行操作。
3. 变长数组能保存固定数量的元素 ( 但可以在运行时改变它的大小 ) ,使用有序数字作为下标。同嵌套表一样,也可以保存到数据库中去,但灵活性不如嵌套表好。
虽然集合是一维的,但我们可以把一个集合作为另外一个集合的元素来建立多维集合。
要在应用程序中使用集合,我们要先定义一个或多个 PL/SQL 类型,然后声明这些类型的变量。我们可以在过程、函数或包中定义集合类型。还可以把集合作为参数在客户端和存储子程序之间传递数据。
要查找复杂类型的数据,我们可以在集合中存放 PL/SQL 记录或 SQL 对象类型。嵌套表和变长数组也可以作为对象类型的属性。
1.2 定义集合类型要使用集合,我们首先要创建集合类型,然后声明该类型的变量。我们可以在任何 PL/SQL 块、子程序或包的声明部分使用 TABLE 和 VARRAY 类型。
集合的作用域和初始化规则同其他类型和变量一样。在一个块或子程序中,当程序进入块或子程序时集合被初始化,退出时销毁。在包中,集合在我们第一次引用包的时候初始化,直至会话终止时才销毁。
嵌套表
对于嵌套表,可以使用下面的语法来进行定义:
TYPE type_name IS TABLE OF element_type [NOT NULL];
其中 type_name 是在集合声明使用的类型标识符,而 element_type 可以是除了 REF CURSOR 类型之外的任何 PL/SQL 类型。对于使用 SQL 声明的全局嵌套表来说,它的元素类型受到一些额外的限制。以下几种类型是不可以使用的:
- 1.BINARY_INTEGER, PLS_INTEGER
- 2.BOOLEAN
- 3.LONG, LONG RAW
- 4.NATURAL, NATURALN
- 5.POSITIVE, POSITIVEN
- 6.REF CURSOR
- 7.SIGNTYPE
- 8.STRING
变长数组
对于变长数组类型,可以使用下面的语法进行定义:
TYPE type_name IS {VARRAY | VARYING ARRAY} (size_limit) OF element_type [NOT NULL];
type_name 和 element_type 的含义与嵌套表相同。 size_limit 是正整数,代表数组中最多允许存放元素的个数。在定义 VARRAY 时,我们必须指定它的长度最大值。
,