十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在PL/SQL中是没有数组(Array)概念的,但是如果程序员想用Array的话,可以用TYPE和 Table of Record变通一下,来代替多维数组.
网站设计制作过程拒绝使用模板建站;使用PHP+MYSQL原生开发可交付网站源代码;符合网站优化排名的后台管理系统;网站设计、网站建设收费合理;免费进行网站备案等企业网站建设一条龙服务.我们是一家持续稳定运营了十载的成都创新互联网站建设公司。
oracle这么强大的数据库能使用数组的
在oracle中,数组主要是用来存储批量数据,一次性的对数据库进行插入,更新,删除操作。
下面给你一个批量插入的例子,其他都类似的
这是我的blog上面有例子,你自己看看吧。
TYPE MTBL IS TABLE OF NVARCHAR2(256) INDEX BY BINARY_INTEGER;
这就是定义了一个下标为整数的字符串类型配列的类型。使用的时候
TBL MTBL;TBL就是配列对象。
TYPE MMTBL IS TABLE OF NVARCHAR2(256) INDEX BY BINARY_INTEGER;
TYPE MTBL IS TABLE OF MMTBL IS INDEX BY BINARY_INTEGER;
这种一层套一层的,就类似java里的二维数组。同理往下推。
首先你需要定义一个数组类型,然后定义这个数组变量
declare
type a_type is table of number;
-- type a_type is array(10) of number;
-- 下面一种定义方式则指定了该数组的最大元素个数
a a_type := a_type(); -- 定义并初始化一个数组变量
begin
a.extend(3); -- 数组扩展到3个元素
a(1) := 1;
a(2) := 10;
a(3) := 100;
end;
另外数组还有一下方法和属性
first -- 第一个元素下标
last -- 最后一个元素下标
count -- 数组元素个数
prior(n) -- 下标 n 的前一个元素下标
next(n) -- 下标 n 后一个元素下标
extend(n) -- 添加 n 个数组元素,不带参数添加一个数组元素
delete(n) -- 删除数组中下标为 n 的元素,不带参数删除整个数组元素
declare
--定义IntArray 类型,该类型是每个元素为int类型的数组
Type IntArray is table of int;
--定义一个IntArray 类型的变量
v_array IntArray := IntArray();
begin
--向数组中存入数据
for i in 1.. 100 loop
--需要扩展数组
v_array.extend;
v_array(i) := i;
end loop;
--输出数组的内容
for i in 1.. 100 loop
dbms_output.put_line(v_array(i));
end loop;
end;
SQL set serverout on;
SQL declare
2 --定义IntArray 类型,该类型是每个元素为int类型的数组
3 Type IntArray is table of int;
4 --定义一个IntArray 类型的变量
5 v_array IntArray := IntArray();
6 begin
7 --向数组中存入数据
8 for i in 1.. 100 loop
9 --需要扩展数组
10 v_array.extend;
11 v_array(i) := i;
12 end loop;
13
14 --输出数组的内容
15 for i in 1.. 100 loop
16 dbms_output.put_line(v_array(i));
17 end loop;
18 end;
19 /
1
2
3
4
5
6
7
8
9
10
此处省略90行
PL/SQL procedure successfully completed
SQL