- 论坛徽章:
- 1
|
在ORACLE 里,有联合数组类型,嵌套表类型,
比如:
TYPE MYREC IS TABLE OF TABLE%ROWTYPE INDEX BY BINARY_INTEGER;
相当于一个自定义多维复合数组
经过研究,POSTGRESQL,也可以有类似的功能,
比如先自定义一个类型:
create type tmytype as (
partno varchar(16),
descr varchar(20),
onhand_qty numeric(14,4)
);
然后在存储过程里定义复合数组
mytype tmytype[];
可以用
mytype[1] := row('001', 'abc', 100);
mytype[2] := row('001', 'abc', 100);
... ...... ........
赋值,
用下标引用某个字段值,
vpartno := mytype[1].partno;
vdescr := mytype[1].descr;
vonhand_qty := mytype[1].onhand_qty;
很灵活,完全可以跟ORACLE的联合数组,嵌套表相比,
但类似 INTEGER[][]的多维数组使用,还没搞清楚怎么用。
不知道哪位搞懂了? |
|