ITPub博客

首页 > 应用开发 > IT综合 > 小议如果构造数组

小议如果构造数组

原创 IT综合 作者:asword 时间:2009-02-01 14:57:56 0 删除 编辑
ZT PLSQL中构造自定义数组[@more@]

1、一维数组
SQL> set serveroutput on
SQL>
SQL> declare
2 type tvar_sz is varray(5) of number;
3 var_sz tvar_sz;
4 begin
5 var_sz := tvar_sz(1, 2, 3, 4, 5);
6 for i in 1 .. var_sz.count loop
7 dbms_output.put_line(var_sz(i));
8 end loop;
9 end;
10 /

1
2
3
4
5

PL/SQL procedure successfully completed
2、二维数组
SQL> declare
2 type tvar_sz is varray(5) of number;
3 type v_sz is varray(4) of tvar_sz;
4 var_sz v_sz;
5 begin
6 var_sz := v_sz(tvar_sz(1, 2, 3, 4, 5),
7 tvar_sz(1, 2, 3, 4, 5),
8 tvar_sz(1, 2, 3, 4, 5),
9 tvar_sz(1, 2, 3, 4, 5));
10 for i in 1 .. var_sz.count loop
11 for j in 1 .. var_sz(i).count loop
12 dbms_output.put_line(var_sz(i) (j));
13 end loop;
14 end loop;
15 end;
16
17 /

1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5

PL/SQL procedure successfully completed
首先你需要定义一个数组类型,然后定义这个数组变量
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 的元素,不带参数删除整个数组元素

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/82387/viewspace-1016562/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: startup和shutdown
请登录后发表评论 登录
全部评论

注册时间:2009-03-17

  • 博文量
    137
  • 访问量
    399363