如何将数组数据插入表中

时间:2019-10-22 12:11:07

标签: arrays postgresql

我正在尝试将一些数据插入包含数组的表中

INSERT INTO SUBURB VALUES (
'Perth', 
'5684',
SDO_GEOMETRY(
    2003,
    NULL,
    NULL,
    SDO_ELEM_INFO_ARRAY(1,1003,1)
    SDO_ORDINATE_ARRAY(391209,6464720 390919,6463010 392833,6463280 392902,6464290 391209,6464720)
    )
);

我在SDO_ORDINATE_ARRAY行上遇到语法错误,无法解决。

1 个答案:

答案 0 :(得分:0)

以下语法错误

SDO_ORDINATE_ARRAY(391209,6464720 390919,6463010 392833,6463280 392902,6464290 391209,6464720)

postgressql中数组的一般格式为

'{ val1 delim val2 delim ... }'

如果这是一维数组,请用逗号替换空格。

如果要存储多维数组,请使用大括号

例如

'{{1,2,3},{4,5,6},{7,8,9}}'

引用https://www.postgresql.org/docs/9.1/arrays.html

  

要将数组值写为文字常量,请将该元素括起来   花括号中的值,并用逗号分隔。 (如果你知道的话   C,这与用于初始化结构的C语法相同。)   可以在任何元素值两边加上双引号,如果有则必须这样做   包含逗号或大括号。 (更多详细信息显示在下面。)因此,   数组常量的一般格式如下: