当前位置:编程学习 > 网站相关 >>

Oracle Spatial数据表插入的一个问题

INSERT  into  WZW_LAYER (ID,VOLTAGE,MI_PRINX,GEOLOC.SDO_GTYPE,
GEOLOC.SDO_SRID,GEOLOC.SDO_POINT.X,GEOLOC.SDO_POINT.Y)
VALUES(19,6300.00000,20,2001,8307,113.92153,34.40705);
上面是我向一个空间表中查数据的语句,但是出现以下错误提示信息:
GEOLOC.SDO_SRID,GEOLOC.SDO_POINT.X,GEOLOC.SDO_POINT.Y)
                                   *
ERROR at line 2:
ORA-00904: "GEOLOC"."SDO_POINT"."Y": invalid identifier
这个表的创建语句如下:
create table WZW_LAYER
(
  ID       NUMBER(10),
  VOLTAGE  NUMBER(9,5),
  MI_STYLE VARCHAR2(254),
  MI_PRINX NUMBER(10) not null,
  GEOLOC   MDSYS.SDO_GEOMETRY
)为什么会出现以上错误?怎样才能解决?
既然可以单独查询geoloc.SDO_POINT.X,geoloc.SDO_POINT.Y,为什么不能指定插入数据到这些列呢? --------------------编程问答-------------------- 不能直接写空间字段吧..
空间字段是个大字段.. --------------------编程问答-------------------- SDO_GEOMETRY整个对象是一个字段,必须按该对象的格式插入,例如:
INSERT INTO customers VALUES
  (1001,'Nichols', 'Alexandra', 
  '17 Maple Drive', 'Nashua', 'NH','03062',
   SDO_GEOMETRY(2001, 8307, 
     SDO_POINT_TYPE (-71.48923,42.72347,NULL), NULL, NULL));

SDO_GEOMETRY(2001, 8307, 
     SDO_POINT_TYPE (-71.48923,42.72347,NULL), NULL, NULL)是一个整体,不能拆分

补充:企业软件 ,  地理信息系统
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,