【发布时间】:2018-02-14 23:45:01
【问题描述】:
我正在使用此查询查询 Oracle Spatial 数据库(我省略了其他 1496 个坐标):
SELECT *
FROM pointsofinterest
WHERE Sdo_inside (pointsofinterest.geoloc,
Sdo_geometry(2003, 4326, NULL, Sdo_elem_info_array(1, 1003, 1),
Sdo_ordinate_array(4.237378120400001, 43.7904510498, 4.2357025146,
43.7882575989
,
4.232352256800001, 43.7882575989,
4.232352256800001, 43.7871589661))) = 'TRUE'
并得到这个错误:
ORA-00939: 函数的参数过多 00939. 00000 - “函数的参数太多” *原因:
*操作:行错误:4 列:27
SDO_GEOMETRY 对象包含 1500 个二维坐标。根据http://docs.oracle.com/cd/B28359_01/appdev.111/b28400/sdo_objrelschema.htm#SPATL489,这应该不是问题
当我删除很多坐标时,没有错误。
我是否遗漏了有关 SDO_GEOMETRY 构造函数中最大坐标数的信息?为什么会出现此错误?
【问题讨论】:
标签: sql oracle oracle-spatial