Oracle本身没数组的概念,但是通过Oracle的Collections和Records类型可以模仿出单维数组和多维数组。
请参考<<Oracle PL/SQL Programming>> Chapter 11、Chapter 12。
---------------------- 单维数组 ------------------------
DECLARE
TYPE emp_ssn_array IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; ----注:声明一个Collection
best_employees emp_ssn_array;
worst_employees emp_ssn_array;
BEGIN
best_employees(1) := '123456';
best_employees(2) := '888888';
worst_employees(1) := '222222';
worst_employees(2) := '666666';
FOR i IN 1..best_employees.count LOOP
DBMS_OUTPUT.PUT_LINE('i='|| i || ', best_employees= ' ||best_employees(i)
|| ', worst_employees= ' ||worst_employees(i));
END LOOP;
END;
---------------------- 多维数组 ------------------------
DECLARE
TYPE emp_type IS RECORD ---------注:声明一个Record类型 emp_type
( emp_id employee_table.emp_id%TYPE, ----Record类型中的成员...
emp_name employee_table.emp_name%TYPE,
emp_gender employee_table.emp_gender%TYPE );
TYPE emp_type_array IS TABLE OF emp_type INDEX BY BINARY_INTEGER;----注:声明一个Collection类型 emp_type_array ,其中元素为emp_type类型
emp_rec_array emp_type_array;
emp_rec emp_type;
BEGIN
emp_rec.emp_id := 300000000;
emp_rec.emp_name := 'Barbara';
emp_rec.emp_gender := 'Female';
emp_rec_array(1) := emp_rec;
emp_rec.emp_id := 300000008;
emp_rec.emp_name := 'Rick';
emp_rec.emp_gender := 'Male';
emp_rec_array(2) := emp_rec;
FOR i IN 1..emp_rec_array.count LOOP
DBMS_OUTPUT.PUT_LINE('i='||i
||', emp_id ='||emp_rec_array(i).emp_id
||', emp_name ='||emp_rec_array(i).emp_name
||', emp_gender = '||emp_rec_array(i).emp_gender);
END LOOP;
END;
-------------- Result --------------
i=1, emp_id =300000000, emp_name =Barbara, emp_gender = Female
i=2, emp_id =300000008, emp_name =Rick, emp_gender = Male
更多参考资料:
1、
http://dev.yesky.com/SoftChannel/72342371928965120/20020819/1625866.shtml
2、
http://blog.csdn.net/qfs_v/archive/2008/05/18/2455319.aspx
分享到:
相关推荐
### Oracle数据库PL/SQL教程知识点概览 #### 1. PL/SQL介绍 PL/SQL(Procedural Language for SQL)是Oracle数据库的一种过程化语言,它将SQL语句与传统编程语言的功能相结合,用于创建复杂的数据库应用程序。PL/...
### Oracle PL/SQL测试题目与知识点解析 #### 一、选择题知识点解析 **1. Oracle数据库中为新创建的表分配的初始空间通常为多大?** - **知识点解析:** Oracle数据库为新创建的表分配的空间单位是“区”(Extent...
在PL/SQL中,我们使用`:=`操作符来给变量赋值,或者使用`ASSIGN`语句(虽然`ASSIGN`在标准PL/SQL中不常见,但在某些Oracle工具或扩展中可能可用): ```sql num_var := 456; -- 赋新值 str_var := 'World'; -- 更改...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作功能与PL/SQL的流程控制和编程特性,广泛应用于Oracle数据库的开发和管理。本资源"Oracle.PL.SQL程序设计_第五版03df"是关于Oracle ...
Oracle 8i PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库系统中用于扩展SQL语言的一种过程式编程语言。它允许开发者编写复杂的业务逻辑,实现存储过程、触发器、函数、包等数据库对象,...
#### 5.4 在PL/SQL中使用SQLCODE, SQLERRM SQLCODE和SQLERRM是两个系统变量,分别用于返回最后执行的SQL语句的错误代码和错误消息。这些变量可以用于调试和日志记录目的。 ### 第六章 存储函数和过程 #### 6.1 ...
在Oracle数据库的PL/SQL环境中,联合数组(Varying Array)是一种特殊的变量类型,它允许程序员存储一组相同类型的元素,这些元素可以是数值、字符串或其他复杂的数据类型。联合数组在PL/SQL中扮演着重要角色,特别...
Oracle 10g是一款强大的关系型数据库管理系统,其SQL(结构化查询语言)和PL/SQL(过程化SQL)是数据库管理员和开发人员进行数据管理、处理和应用开发的重要工具。下面将详细介绍这些主题中的关键知识点。 首先,...
PL/SQL有三种集合 联合数组 嵌套表 可变数组 联合数组详解: 什么是数组?数组有什么特点 数据是线性存放的,在内存中地址是连续的 可以用索引来访问 定义联合数组? 联合数组不需要定义长度,他能容纳的元素最大...
本文将详细介绍PL/SQL中的三种主要集合类型:Index_by表、嵌套表和VARRAY,并讨论如何在实际应用中使用这些集合。 #### 二、集合类型 ##### 1. Index_by表(联合数组) **定义** Index_by表是一种特殊的PL/SQL...
Filled with detailed examples and expert strategies from an Oracle ACE, Oracle Database 12c PL/SQL Programming explains how to retrieve and process data, write PL/SQL statements, execute effective ...
Oracle PL/SQL是一种强大的编程语言,它将SQL与过程式编程语言的功能相结合,为数据库管理员和开发者提供了在Oracle数据库环境中创建复杂应用的能力。这个参考文档是Oracle PL/SQL的全面指南,涵盖了从基础到高级的...
PL/SQL是Oracle数据库系统中的过程化语言,它结合了SQL查询和编程的特性,使得开发者可以编写复杂的数据库应用程序。在“pl-sql.zip_vectors”这个压缩包中,重点涉及的是PL/SQL基础过程、向量操作以及触发器的使用...
PL/SQL是Oracle数据库系统中的一个关键组成部分,全称为Procedural Language/SQL,它将SQL语句与过程式编程语言结合在一起,为数据库管理员和开发者提供了强大的数据处理能力。"plsql8.000"可能指的是针对Oracle 8.0...
本书由Michael McLaughlin撰写,涵盖了Oracle Database 11g版本中PL/SQL编程的所有核心概念和技术。 #### 1. Oracle Database 11g简介 - **版本更新**:Oracle Database 11g是Oracle公司推出的数据库管理系统的一...
这个库允许数据库用户在 SQL 和 PL/SQL 代码中方便地生成、解析和操作 JSON 对象,使得 Oracle 数据库能够更好地适应现代 Web 开发的需求,特别是与 RESTful API 的交互。 PL/JSON 库提供了以下主要功能: 1. **...
PL/SQL,全称Procedural Language/Structured Query Language,是Oracle数据库的一种扩展语言,用于处理数据库中的数据和实现复杂的业务逻辑。以下是对PL/SQL的基础知识进行的详细阐述: 1. **匿名块与命名块**: ...
3. **可移植性**:PL/SQL程序可以在任何支持Oracle数据库的操作系统或平台上运行,这意味着开发者可以轻松地将应用程序移植到不同的环境中,提高了代码的复用性和灵活性。 4. **高性能**:由于PL/SQL是编译执行的...