pl/sql 有三种数组类型,到现在为止只用过叫“关联数组集合类型”的数组。
一、定义类型
type <我们自己的数组类型的名字> is table of <datatype>[
not null] index by index_type;
其中 datatype是必须的。index by index_type 可以省略。如:
-- Public type declarations
-- TYPE < TYPENAME > IS < DATATYPE >;
TYPE SEQID_AAT IS TABLE OF D_INV_ALARM_SEQ.SEQ_ID%TYPE INDEX BY BINARY_INTEGER;
类型定义一般放在包体或者包头的定义类型的区域。
index by 的数据类型可以是BINARY_INTEGER以及它的子类,
下面的都是有效的:
index by binary_integer
index by pls_integer
index by positive
index by natural
index by singtype (只有 -1、0、1三个值)
index by varchar2(32767)
index by table.column%type
index by cursor.column%type
index by package.variable%type
index by package.subtype
二、初始化
我这里定义的数组的index by类型是 binary_integer。
BEFORE_FIRST_TAB SEQID_AAT; --声明一个数组
SELECT A.SEQ_ID BULK COLLECT
BULK COLLECT INTO BEFORE_FIRST_TAB
FROM D_INV_ALARM_SEQ A
WHERE A.SEQ_NUM < V_SEQ_NUM;
注意事项:数组的下标是由数据库提供的,下标从1开始。
三、使用数组
呵呵使用一个数组(或者集合),专家们喜欢加遍历。
FOR SEQ_INDEX IN 1 .. BEFORE_FIRST_TAB.COUNT LOOP
UPDATE D_INV_ALARM_SEQ A
SET A.SEQ_NUM = A.SEQ_NUM + IN_LENGTH
WHERE A.SEQ_ID = BEFORE_FIRST_TAB(SEQ_INDEX);
END LOOP;
分享到:
相关推荐
- 集合是PL/SQL中类似数组的数据结构,包括关联数组、索引表等,能高效处理多值数据。 - 使用集合进行批量操作,可以显著提高数据处理速度和代码简洁度。 4. 高性能PL/SQL: - 使用游标FOR循环代替显式循环,以...
- PL/SQL数组:在PL/SQL中,数组是一种可以存储同一类型数据的集合,提供了批量操作数据的能力。 - 定义数组:学习如何声明并初始化数组,以及指定数组的大小和元素类型。 - 数组操作:包括赋值、索引访问、遍历...
《Oracle PL/SQL by Example(4th Edition)》是一本专为Oracle数据库用户设计的PL/SQL编程指南,尤其适合那些希望通过实践学习这一强大的过程式语言的开发者。本书的第四版详细介绍了Oracle PL/SQL的各种核心概念和...
Oracle PL/SQL 编程及最佳实践 Oracle PL/SQL 是一种高级编程语言,用于开发 Oracle 数据库中的存储过程、函数和触发器。PL/SQL language 提供了强大的编程能力,可以实现复杂的业务逻辑,并且与 Oracle 数据库紧密...
Oracle PL/SQL Fundamentals是Oracle University为学生设计的一份培训指南,旨在深入理解并掌握Oracle数据库中的PL/SQL编程基础。PL/SQL是Oracle数据库特有的结构化查询语言扩展,它结合了SQL的强大功能与过程性编程...
### Oracle PL/SQL语言初级教程知识点汇总 #### 一、PL/SQL语言基础 ...以上就是《Oracle PL/SQL语言初级教程》中涵盖的主要知识点,这些内容对于理解和使用Oracle数据库中的PL/SQL功能非常重要。
12. **调试和错误诊断**:最后,手册会介绍如何使用Oracle提供的调试工具和技巧来追踪和解决PL/SQL程序中的问题。 这份"PL/SQL最新中文手册"对于任何想要深入理解并有效利用PL/SQL进行Oracle数据库开发的人来说,都...
在"Oracle Database 12c PL/SQL开发指南(第7版)"这本书中,作者深入浅出地介绍了如何使用PL/SQL进行数据库开发。这本书涵盖了许多关键知识点,包括但不限于: 1. **PL/SQL基础**:PL/SQL的基础语法,如变量声明、...
Oracle PL/SQL是一种强大的编程语言,专为在Oracle数据库环境中创建和管理复杂的应用程序而设计。第五版的《Oracle PL/SQL程序设计》是学习和深入理解这一语言的关键资源。以下将详细介绍PL/SQL的基本概念、特性以及...
### 精通Oracle PL/SQL:核心知识点详解 #### 一、Oracle PL/SQL简介与重要性 Oracle PL/SQL(程序包SQL)是一种专为Oracle数据库设计的过程化语言,它结合了SQL命令和过程化的编程结构。本书《精通Oracle PL/SQL:...
9. **索引和触发器**:虽然不是PL/SQL语言本身的一部分,但在Oracle数据库中,PL/SQL经常用于创建和使用索引以及定义触发器,以实现自动化数据验证和业务规则。 10. **嵌套表和对象类型**:PL/SQL支持嵌套表和...
Oracle PL/SQL是一种在Oracle数据库环境中使用的编程语言,它结合了SQL(结构化查询语言)的查询和数据操作能力与PL(过程语言)的控制结构和变量定义功能。Oracle PL/SQL是为数据库应用程序开发而设计的,允许开发...
在本教程中,我们将深入探讨PL/SQL的关键知识点,包括如何创建程序块、处理异常、使用光标以及数组处理,同时也会介绍一些常用的函数,如DECODE(),并讨论PL/SQL的优化规则。 首先,让我们了解如何创建PL/SQL程序块...
3. **集合与记录类型**:PL/SQL支持数组和复合类型,如VARRAYs(固定大小数组)、associative arrays(关联数组)和records(记录),这些可以用来处理多行或多列的数据。 4. **游标**:游标是处理单行查询结果的...
《Oracle PL/SQL Packages and Types Reference》是一本针对Oracle数据库编程的重要参考资料,主要涵盖了PL/SQL包和类型的详细信息。这本书对于那些具有英文阅读能力的开发者来说,是开发过程中的重要工具,能够帮助...
Oracle PL/SQL是一种强大的编程语言,它将SQL与过程编程语言特性相结合,为数据库开发者提供了丰富的功能和灵活性。在Oracle数据库环境中,PL/SQL是构建高效、可靠的应用程序的关键工具。"Oracle PL/SQL常用47个工具...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作能力和Procedural Language的控制结构,使得开发人员可以创建复杂的数据库应用程序。本课件由Oracle Academy提供,旨在帮助学习者...
Oracle PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库系统中的一种编程语言,它结合了SQL的查询功能和传统的过程式编程语言的特点,为数据库管理与开发提供了强大的工具。这篇文档将深入...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和Procedural Language的程序设计功能,被广泛用于开发Oracle数据库的应用程序。本学习教程将深入探讨Oracle PL/SQL的基础概念,帮助初学者理解并...
《精通PL/SQL》这本书是针对Oracle数据库系统中PL/SQL编程语言的深度解析与实践指南,主要面向希望提升在Oracle环境下使用PL/SQL技能的专业人士。PL/SQL,全称为Procedural Language/Structured Query Language,是...