填充大型数组

时间:2014-07-03 17:59:12

标签: arrays oracle stored-procedures plsql oracle11g

我想将多边形加载到Oracle Spatial中,但遇到了问题。多边形非常复杂并且包含许多坐标,但在尝试直接填充SDO_ORDINATE_ARRAY时遇到了问题。所以我尝试通过首先填充一个我可以传递给SDO_ORDINATE_ARRAY的数组来解决这个问题。但是,我用完共享内存b / c数组太大了。关于如何规避这个问题的任何想法。

DECLARE
ORD SDO_ORDINATE_ARRAY := SDO_ORDINATE_ARRAY();
TYPE ARRAY_T IS TABLE OF VARCHAR2(32);
ARRAY ARRAY_T := ARRAY_T(
    Lots and Lots of Coordinates....
);
BEGIN
    FOR I IN 1..ARRAY.COUNT LOOP
        ORD.EXTEND;
        ORD(i) := ARRAY(i);
END LOOP;
END;

1 个答案:

答案 0 :(得分:1)

创建临时表http://docs.oracle.com/cd/B28359_01/server.111/b28310/tables003.htm#ADMIN11633插入数据然后使用SQL以实现预期结果。