集合方法是ORACLE所提供的用于操纵集合变量的内置函数或过程,其中EXISTS,COUNT,LIMIT,FIRST,NEXT,PRIOR和NEXT是函数,而EXTEND,TRIM和DELETE是过程。集合方法的调用方式:
collection_name.method_name[(parameter)]
注意,集合方法只能在PL/SQL语句中使用,不能在SQL语句中调用。另外集合方法EXTEND和TRIM只适用嵌套表和VARRAY。
该方法用于确定集合元素是否存在,如果集合元素存在,则返回TRUE;如果集合元素不存在,则返回FALSE。适用该集合方法的示例如下:
DECLARE
TYPE ename_table_type IS TABLE OF scott.emp.ename%TYPE;
ename_table ename_table_type;
BEGIN
IF ename_table.EXISTS(1) THEN
ename_table(1):='SCOTT';
ELSE
dbms_output.put_line('必须初始化集合元素');
END IF;
END;
该方法用户返回当前集合变量中的元素的总个数。如果集合元素存在数值,则统计结构会包含该元素;如果集合元素为NULL,则统计结果不会包含该元素。
示例:
DECLARE
TYPE ename_table_type IS TABLE OF scott.emp.ename%TYPE
INDEX BY BINARY_INTEGER;
ename_table ename_table_type;
BEGIN
ename_table(-5):='scott';
ename_table(1):='scott1';
ename_table(5):='scott2';
ename_table(3):='scott3';
dbms_output.put_line(ename_table.count);
END;
该方法用户返回集合元素的最大个数。因为嵌套表和索引元素的个数没有限制,所以调用该方法会返回NULL;而对于VARRAY来说,该方法会返回VARRAY所允许的最大元素个数。
FIRST方法用于返回集合变量第一个元素的下标,而LAST返回集合变量最后一个元素下标。
PRIOR方法用于返回当前集合元素的前一个元素的下标,而NEXT方法则是返回当前集合元素的后一个元素的下标。
该方法用户扩展集合变量的尺寸,并为他们增加元素。该方法只能适用与嵌套表和VARRAY。
EXTEND--用于为集合变量添加一个NULL元素
EXTEND(n)--用于为集合变量添加n个NULL元素
EXTEND(n,i)--用于为集合变量添加n个元素,元素值与底i个相同
该方法用于从集合尾部删除元素,有TRIM和TIME(n)两种调用格式。TRIM用于从尾部删除一个元素;而TRIM(n)用户从集合尾部删除n个元素。
该方法用于删除集合元素,但该方法只适用与嵌套表和索引表,而不适用于VARRAY。
DELETE--用于删除集合变量所有元素;
DELETE(n)--用于删除集合变量第n个元素;
DELETE(m,n)--用于删除集合变量中从m到n之间的所有元素;
分享到:
相关推荐
6. **复合类型**:PL/SQL支持数组、集合和记录等复合类型,这些使得处理复杂数据结构变得可能。手册会详细介绍这些类型的创建和使用。 7. **包(Packages)**:包是将相关的过程、函数和变量封装在一起的一种方式,...
- **集合与记录**:学习如何使用PL/SQL中的集合和记录类型,这些结构可以帮助更高效地处理数据集。 - **游标**:介绍游标的使用方法,包括隐式游标和显式游标,以及如何利用游标遍历查询结果。 #### 四、PL/SQL中的...
此外,PL/SQL还支持集合类型,如VARRAY(可变数组)和TABLE(表类型),这对于处理大量数据非常有用。 这本书的配套源代码可能会涵盖以下几个方面: 1. **基础操作**:包括简单的SQL查询、变量声明、流程控制...
PL/SQL软件包是一组相关的过程和函数的集合,它可以用来组织和管理程序。软件包由两部分组成,说明部分和包体部分,分别用于声明公共接口和实现逻辑。 异常处理在PL/SQL中用来处理程序运行时发生的错误。PL/SQL预定...
- **程序包**:集合了一系列相关的子程序、类型定义和其他PL/SQL元素,便于管理和复用。 **2.3 标识符规则** PL/SQL中的标识符遵循以下规则: - 标识符长度不能超过30个字符。 - 第一个字符必须是字母。 - 不区分...
* 包:是一组相关的 PL/SQL 程序块的集合。 * 触发器:是一种特殊的存储程序,用于自动执行某些操作。 定义函数的语法: CREATE [OR REPLACE] FUNCTION function_name [(argument [IN|OUT|IN OUT] datatype)] ...
5. **数据操作**:除了标准的SQL查询,PL/SQL还支持集合操作,如BULK COLLECT和FORALL,可以高效地处理大量数据。 6. **游标**:PL/SQL中的游标允许逐行处理查询结果,是处理复杂数据操作的重要工具。 7. **记录...
3. **集合和游标**:集合是PL/SQL中处理多行数据的有效工具,如VARRAYs(固定大小数组)和associative arrays(关联数组)。游标则允许我们一行一行地处理查询结果,是处理动态数据的重要手段。 4. **存储过程和...
《Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发》是一本深入探讨Oracle数据库中的PL/SQL编程的专业书籍。PL/SQL是Oracle数据库特有的编程语言,它结合了SQL的查询能力与过程式编程语言的功能,使得数据库...
5. **集合类型**:包括数组(PLS_INTEGER索引的PL/SQL表)和关联数组(索引由非数字类型的值定义),以及如何在集合中插入、删除和迭代元素。 6. **包(PACKAGE)**:创建和使用包来组织相关的过程和函数,实现模块...
5. **过程与函数**:过程是一组PL/SQL语句的集合,用于执行特定任务。函数与过程类似,但返回一个值。它们可以提高代码的复用性和模块化。 6. **异常处理**:PL/SQL提供了一个强大的异常处理机制,允许你定义和捕获...
- 表类型:使用PL/SQL表类型进行集合操作。 -记录类型:定义和使用记录类型,类似于结构或对象。 5. **程序单元**: - 包(PACKAGE):定义公共接口和私有实现,提高代码复用性。 -存储过程和函数:创建存储在...
**4.3 存储过程** 是预编译的PL/SQL代码集合,可以接受输入参数,返回结果,提高效率并简化代码管理。 **4.4 触发器** 是在特定数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行的PL/SQL代码,常用于实现业务...
5. **集合类型**:讨论PL/SQL中的集合类型,如数组、关联数组、表类型和索引表,以及它们在处理大量数据时的优势。 6. **包(PACKAGE)**:解释如何创建和使用包,包括包规范(PACKAGE SPECIFICATION)和包体...
《Oracle PL/SQL程序设计(第5版)》不但介绍了大量的Oracle 11g的PL/SQL新性能,还提供了许多优化PL/SQL性能的新方法。 《Oracle PL/SQL程序设计(第5版)》结构清晰,示例丰富,实践性强,适用于Oracle数据库开发人员...
- `sorts.pkg`:可能包含如何在PL/SQL中对数据进行排序的示例,可能涉及到嵌套表或集合的排序,或者使用BULK COLLECT和ORDER BY子句。 6. **统计分析(Stats.pkg)** - `stats.pkg`:这部分可能涉及在PL/SQL中...
2. **变量和数据类型**:PL/SQL支持多种内置数据类型,如NUMBER、VARCHAR2、DATE等,以及PL/SQL特有的记录和集合类型。 3. **流程控制语句**:包括IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环等,用于控制程序的...
14. **最佳实践和编码规范**:学习编写清晰、可读且可维护的PL/SQL代码的方法,遵循良好的编程风格和设计原则。 通过这个Oracle PL/SQL Fundamentals教程,学员将具备编写和调试高效、可靠PL/SQL代码的能力,从而更...
本资源集合包含了关于PL/SQL编程的多本官方经典书籍,对于学习和深入理解PL/SQL至关重要。 1. **《PLSQL User's Guide and Reference》** 这本书是Oracle官方提供的基础指南,全面涵盖了PL/SQL的语法、语句、函数和...
PL/SQL是Oracle公司开发的一种过程化SQL扩展,它是Oracle数据库的重要组成部分,用于在数据库服务器上编写存储过程、函数、触发器、包等可执行代码。PL/SQL可以处理复杂的数据操作和业务逻辑,支持编程结构如循环、...