Oracle创建空间表完整SQL教程

功能说明Oracle创建空间表完整SQL教程

  1. 创建空间表
  2. 添加空间表视图
  3. 创建空间索引
  4. 插入空间数据
  5. 空间数据类型参考SDO_GEOMETRY

创建空间表

 CREATE TABLE COMPANY(
     id NUMBER PRIMARY KEY,
     name VARCHAR2(32),
     shape MDSYS.SDO_GEOMETRY);

添加空间表视图

 INSERT INTO USER_SDO_GEOM_METADATA(TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)
 VALUES('COMPANY', 'shape',
     MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X', -180, 180, 0.05),
         MDSYS.SDO_DIM_ELEMENT('Y', -90, -90, 0.05)
     ),
     NULL);

//查看所有空间表视图
SELECT * FROM USER_SDO_GEOM_METADATA
//删除空间表视图
DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME='COMPANY'

创建空间索引

CREATE INDEX company_idx ON COMPANY(shape) 
    INDEXTYPE IS MDSYS.SPATIAL_INDEX
//如果已存在请使用pl/sql删除
空间索引

插入空间数据

//点类型
INSERT INTO COMPANY VALUES(12, '名字', SDO_GEOMETRY(
     2001,
     NULL,
     SDO_POINT_TYPE(12, 14, NULL),
     NULL,
     NULL
 ))

数据类型参考

You may also like...

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

CAPTCHAis initialing...