1.首先创建一个类型(类似于创建一个普通的Java类),用于来做可变数组的类型
该类型的变量支持Oracle支持的所有类型.
当申明了数组后,数组在该表中作为一列存在
语法: create type typename(类型名称) as object
(
id int,
describe varchar2(50)
....... //类型的元素
);
2.创建可变数组
语法:create type arrayname(数组名称) as varray(50) of typename(类型名称)
说明: varray(50) 指定数组长度
3.创建表
craete table user_table
(
id int,
name varchar2(20),
sex int,
arrays arrayname //数组类型
);
查询有可变数组的表:
例子: select * from table ( select u.arrays from user_table u);
说明: select * from table 其中table不特指标明,表名在后面的子查询中
select u.arrays from user_table u 指在user_table中查询,并且查询可变数组
查询得到ResultSet后,与其余select语句操作方法相同,可使用下标获取列的数据
或使用列名获取数据
插入
insert into user_table(2, 'test arrays', 1,
arrayname
(
typename(1, 'Describe ...'),
typename(2, 'Describe ...')
)
);
说明: 插入时,数组作为一列操作.
其中 arrayname 为数组对象,名称
typename 为数组的类型(类型是JavaBen)
一个arrayname中可以有多个数组.
更新参考Insert操作
删除与普通无数组表无区别
///----------------------------
1、创建类型propvalue
create type propvalue as object (
cid int,
pid int,
prop_name varchar2(30),
vid int,
name varchar2(20),
is_parent int
);
2、创建可变数组PropValues
create type propvalues as varray(50) of propvalue;
3、创建表
create table item_prop
(
pid int,
name varchar2(20),
is_key_prop int,
is_sale_prop int,
is_color_prop int,
parent_pid int,
parent_vid varchar2(20),
prop_values propvalues
);
4、向可变数组插入记录
insert into item_prop
values(1627207, '颜色',0,1,1,0,0,
propvalues(
propvalue(50010538,1627207,'颜色', 3232483, '军绿色',1),
propvalue(50010538,1627207,'颜色', 3232484, '天蓝色',1)
)
);
insert into item_prop
values(20509, '尺码',0,1,0,0,0,
propvalues(
propvalue(50010538,20509,'尺码', 28314, 'S',1),
propvalue(50010538,20509,'尺码', 28315, 'M',1)
)
);
5、查询可变数组
Select E .* From Item_Prop Itm , Table(Prop_Values) E
Where E.Cid=50010538 And Itm.Pid=E.Pid
相关推荐
### Oracle可变数组详解 #### 一、可变数组简介 在Oracle数据库中,可变数组(VARRAY)是一种特殊类型的集合数据结构,类似于我们通常理解的数组,但提供了更强大的功能和灵活性。根据给定文件中的描述,“可变数...
Oracle学习笔记(嵌套表、可变数组),有具体的代码案例供大家参考
本课程"MLDN魔乐科技JAVA培训_Oracle课堂24_嵌套表、可变数组"着重讲解了Oracle数据库中的两种特殊数据结构——嵌套表和可变数组,它们在处理复杂数据时非常有用。 嵌套表,也称为集合类型,允许在一个列中存储多个...
在Oracle数据库系统中,嵌套表和可变数组是两种重要的高级数据类型,它们提供了处理复杂数据结构的能力,尤其在存储和操作集合类数据时显得非常有用。在本Oracle课堂中,我们将深入探讨这两个概念以及它们在实际应用...
【IBM-Oracle】是关于IBM和Oracle两大技术巨头在数据库领域的知识对比,特别是关于Oracle数据库中可变数组和嵌套表的使用。本章重点介绍了如何在Oracle数据库中创建和操作可变数组。 首先,可变数组是Oracle数据库...
├─10 嵌套表 可变数组 │ createType.sql │ ├─11 PLSQLl语法 │ plsql.sql │ ├─12 索引 │ index.sql │ ├─13 游标 │ cursor.sql │ ├─14 存储过程 │ procedure.sql │ ├─15 函数 │ function....
Oracle 数组是一种复杂的数据类型,可以存储多个元素,数组可以分为固定数组和可变数组两种类型。在 Oracle 中,数组可以用来存储大量的数据,并且可以通过索引来访问数组中的元素。 固定数组是一种具有固定长度的...
可变数组取表是一种将可变数组作为表的方式。我们可以使用可变数组来存储表的数据,并且可以对数组进行遍历、插入、删除等操作。例如: ```sql declare type type_array is table of t_stock%rowtype index by ...
嘉兴IBM培训Oracle课件 ORACLE01SQL建表与查询 ORACLE02连接与子查询 ORACLE03DCL,TCL ORACLE04数据库对象 ORACLE05PLSQL编程基础 ORACLE06游标 ORACLE07记录类型与PLSQL表 ...ORACLE12可变数组和嵌套表
--可变数组也必须初始化 var1 mytype:=new mytype('a','b','c'); begin var1.extend(2); var1(4):='d'; end; 集合的属性和方法 1.count属性计数 ,可以得到集合的元素数量 2.delete方法 3.exists 判断这个...
此外,PL/SQL还支持集合类型,如VARRAY(可变数组)和TABLE(表类型),这对于处理大量数据非常有用。 这本书的配套源代码可能会涵盖以下几个方面: 1. **基础操作**:包括简单的SQL查询、变量声明、流程控制...
Oracle数据库中的对象类型丰富多样,包括抽象数据类型、可变数组、嵌套表、对象表和对象视图。抽象数据类型允许定义自定义的数据结构,不局限于Oracle的标准数据类型,可以用于创建其他复杂的数据类型。可变数组则...
- VARRAY(可变数组):VARRAY允许我们创建固定大小的数组,每个元素可以是相同类型的值。例如,`CREATE TYPE my_numbers AS VARRAY(10) OF NUMBER;` 创建了一个最多包含10个数字的数组类型。 - Nested Table(嵌套...
2.4.2 可变数组 2.4.3 类型中的类型 2.4.4 方法和类型 2.4.5 对象视图 2.5 小结 2.6 本章小结 第3章 结构 3.1 术语 3.2 为什么要学习结构 3.3 什么是数据库 3.3.1 数据文件 3.3.2 用户数据和系统数据 3.3.3 什么是...
2.4.2 可变数组 2.4.3 类型中的类型 2.4.4 方法和类型 2.4.5 对象视图 2.5 小结 2.6 本章小结 第3章 结构 3.1 术语 3.2 为什么要学习结构 3.3 什么是数据库 3.3.1 数据文件 3.3.2 用户数据和系统数据 3.3.3 什么是...
- **集合类型**:学习Oracle中的集合类型,如VARRAY(可变数组)和NESTED TABLE(嵌套表),它们允许存储多个值在一个单一的列或变量中。 - **操作集合类型**:掌握如何在PL/SQL中声明、初始化和操作这些集合。 5...
Oracle 10g是Oracle数据库的一个重要版本,其在PL/SQL编程方面提供了丰富的特性,如PL/SQL表和记录、嵌套表以及可变数组等。这些特性极大地增强了数据库处理和应用程序开发的能力。 PL/SQL表是PL/SQL块内的一种临时...
- `VARRAY(n) OF dataType`: 可变数组,长度固定且有限,最多n个元素。 - `TABLE OF dataType INDEX BY indexType`: 动态大小的关联数组,可以用整数或字符串作为索引。 9. **对象类型** - 自定义对象类型允许...
常见的集合类型包括`VARRAY(可变数组)`和`NESTED TABLE(嵌套表)`。它们在处理大量相似数据时提供了一种高效的方式。 2. **VARRAY(可变数组)** VARRAY是一种固定大小的集合,可以将它理解为数据库中的动态...