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)是一个整体,不能拆分
补充:企业软件 , 地理信息系统