oracle怎么建数组 如何建立数组

oracle怎么使用数组

除了构造函数外,集合还有很多内建函数,这些函数称为方法。 调用方法的语法如下: collectionmethod 下表中列出oracle中集合的方法 方法 描述 使用限制 COUNT 返回集合中元素的个数 DELETE 删除集合中所有元素 DELETE() 删除元素下标为x的元素oracle怎么使用数组

创新互联网站设计,为客户量身定制各类网站建设业务,包括企业型、电子商务型、成都响应式网站建设公司、行业门户型等各类网站,实战经验丰富,成功案例众多。以客户利益为出发点,创新互联网站制作为客户规划、定制网站符合企业需求、带有营销价值的网络建站方案认真对待每一个客户,我们不用口头的语言来吹擂我们的优秀,近1000家的成功案例见证着我们的成长。

oracle如何创建含有数组的表结构

可以!

1、先定义用户类型:

create or replace type Va as varray(10) of char(5);

定义Va为十个元素是char(5)类型

2、再定义进表中:

create table photo (

id varchar2(2),

address varchar2(10),

My_va Va);

Oracle PL/SQL (5) - 可变数组IS VARRAY(长度) OF的使用

可变数组,是一种集合。一个可变数组是一个对象的集合,其中每个对象都具有相同的数据类型。可变数组的大小在创建时决定。在表中创建可变数组后,可变数组在主表中即为一个列。

可变数组特性

1)可变数组主要的特性即是元素的最大个数是有限制

2)可变数组下标固定为1,上限可以扩展

3)在可变数组声明时自动设置为NULL值.所谓的空值指的是集合本身是空,不是针对它所拥有的元素,故在元素引用前需要对其进行初始化

可变数组创建语法:

CREATE [OR REPLACE] TYPE 类型名称 IS VARRAY(长度) OF 数据类型;

例如:定义一个可变数组类型 my_varray ,它的最大容量是5,元素类型是 VARCHAR2.

1、简单类型的可变数组

2、定义TYPE类型的可变数组

输出结果:公司code:204

3、定义二维可变数组

输出结果:

4、定义复合类型的可变数组

输出结果:

事故号:AAA 版本号:1 有效标识:1

事故号:BBB 版本号:2 有效标识:1

事故号:CCC 版本号:3 有效标识:0

如何在ORACLE中定义一个数组

集合:是具有相同定义的元素的聚合。Oracle有两种类型的集合:

可变长数组(VARRAY):可以有任意数量的元素,但必须预先定义限制值。

嵌套表:视为表中之表,可以有任意数量的元素,不需要预先定义限制值。

在PL/SQL中是没有数组(Array)概念的。但是如果程序员想用Array的话,就得变通一下,用TYPE

和Table

of

Record来代替多维数组,一样挺好用的。

emp_type

就好象一个table

中的一条record

一样,里面有id,

name,gender等。emp_type_array

象个table,

里面含有一条条这样的record

(emp_type),就象多维数组一样。

--单维数组

DECLARE

TYPE

emp_ssn_array

IS

TABLE

OF

NUMBER

INDEX

BY

BINARY_INTEGER;

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

(

emp_id

employee_table.emp_id%TYPE,

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;

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


分享标题:oracle怎么建数组 如何建立数组
链接分享:http://pwwzsj.com/article/higjjc.html