You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle 19c空表创建基于函数的空间索引遇ORA-13199错误求助

解决Oracle 19c空表创建基于函数的空间索引报错ORA-13199的问题

当目标表为空时,创建基于SDO_LRS.CONVERT_TO_STD_GEOM(SHAPE)的空间索引触发ORA-13199,核心原因是Oracle无法从空表中推断函数返回几何对象的SRID与空间维度信息。普通列的空间索引可复用user_sdo_geom_metadata中的配置,但基于函数的索引必须显式指定这些参数。

解决方案

在创建索引的PARAMETERS子句中,显式声明SRID和DIMINFO信息,同时保留原有的layer_gtype参数。

修改后的创建索引语句如下:

create index IDX_TSPATIALTEST_SHP_SMPL
on TSPATIALTEST ( SDO_LRS.CONVERT_TO_STD_GEOM(SHAPE) )
INDEXTYPE IS MDSYS.SPATIAL_INDEX_V2
PARAMETERS (
    'layer_gtype=LINE 
     srid=31254 
     diminfo=SDO_DIM_ARRAY(
         SDO_DIM_ELEMENT(''X'', -5622500, -5407751.6353, 0.001),
         SDO_DIM_ELEMENT(''Y'', -15001000, -14786251.6353, 0.001),
         SDO_DIM_ELEMENT(''M'', -100000, 114748.3647, 0.001)
     )'
);

关键说明

  • SRID和DIMINFO需与user_sdo_geom_metadata中注册的内容完全一致,保证空间数据的兼容性。
  • 参数内的单引号需用两个单引号转义(''),避免语法解析错误。
  • 该方案无需向空表插入临时数据,仅通过显式参数声明即可完成索引创建。

内容的提问来源于stack exchange,提问作者DaniEll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 14:50:54