Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ADDGEOMETRYCOLUMN

📄字数 1.7K
👁️阅读量 加载中...

功能描述

将几何列添加到现有属性表。

语法格式

sql
VARCHAR ADDGEOMETRYCOLUMN(VARCHAR table_name, VARCHAR column_name, INTEGER srid, VARCHAR type, INTEGER dimension, BOOLEAN use_typmod=TRUE);
VARCHAR ADDGEOMETRYCOLUMN(VARCHAR schema_name, VARCHAR table_name, VARCHAR column_name, INTEGER srid, VARCHAR type, INTEGER dimension, BOOLEAN use_typmod=TRUE);
VARCHAR ADDGEOMETRYCOLUMN(VARCHAR catalog_name, VARCHAR schema_name, VARCHAR table_name, VARCHAR column_name, INTEGER srid, VARCHAR type, INTEGER dimension, BOOLEAN use_typmod=TRUE);

参数说明

  • catalog_name:数据库名称。设置为空串。
  • schema_name: 模式的名称。
  • table_name:表的名称。
  • column_name:列的名称。
  • srid: 空间参考系统ID,必须是对 SPATIAL_REF_SYS 表中条目的整数值引用;
  • type: 类型,必须是与几何类型相对应的字符串,例如 POLYGON 或 MULTILINESTRING 。
  • dimension:维度。
  • use_typmod:是否使用类型修饰符。可选,默认为:TRUE。

函数返回类型

VARCHAR 类型

使用说明

  1. 该函数支持 3d 并且不会丢失 z-index。
  2. 该函数支持圆形字符串和曲线。

示例

sql
SQL> CREATE DATABASE AddGeometryColumn_DB CHAR SET 'UTF8';

SQL> USE AddGeometryColumn_DB;

SQL> CREATE SCHEMA my_schema;

SQL> CREATE TABLE my_schema.my_spatial_table (id int);

SQL> SELECT AddGeometryColumn ('my_schema','my_spatial_table','geom',4326,'POINT',2);

+-------------------------------------------------------------+
|                            EXPR1                            |
+-------------------------------------------------------------+
| MY_SCHEMA.MY_SPATIAL_TABLE.GEOM SRID:4326 TYPE:POINT DIMS:2 |
+-------------------------------------------------------------+


SQL> SELECT AddGeometryColumn ('my_schema','my_spatial_table','geom_c',4326,'POINT',2, false);

+---------------------------------------------------------------+
|                             EXPR1                             |
+---------------------------------------------------------------+
| MY_SCHEMA.MY_SPATIAL_TABLE.GEOM_C SRID:4326 TYPE:POINT DIMS:2 |
+---------------------------------------------------------------+


SQL> SELECT AddGeometryColumn ('my_schema','my_spatial_table','geomcp_c',4326,'CURVEPOLYGON',2, false);

+------------------------------------------------------------------------+
|                                 EXPR1                                  |
+------------------------------------------------------------------------+
| MY_SCHEMA.MY_SPATIAL_TABLE.GEOMCP_C SRID:4326 TYPE:CURVEPOLYGON DIMS:2 |
+------------------------------------------------------------------------+


SQL> SELECT SCH.SCHEMA_NAME,TAB.TABLE_NAME,COL.COL_NAME,COL.TYPE_NAME,COL."VARYING",COL.SCALE
      FROM DBA_COLUMNS COL
     LEFT JOIN DBA_TABLES TAB ON COL.TABLE_ID=TAB.TABLE_ID
     LEFT JOIN DBA_SCHEMAS SCH ON SCH.SCHEMA_ID=TAB.SCHEMA_ID
     WHERE SCH.SCHEMA_NAME ='MY_SCHEMA' AND TAB.table_name = 'MY_SPATIAL_TABLE';

+-------------+------------------+----------+-----------+---------+---------+
| SCHEMA_NAME |    TABLE_NAME    | COL_NAME | TYPE_NAME | VARYING |  SCALE  |
+-------------+------------------+----------+-----------+---------+---------+
| MY_SCHEMA   | MY_SPATIAL_TABLE | ID       | INTEGER   | F       | -1      |
| MY_SCHEMA   | MY_SPATIAL_TABLE | GEOM     | GEOMETRY  | F       | 1107460 |
| MY_SCHEMA   | MY_SPATIAL_TABLE | GEOM_C   | GEOMETRY  | F       | 1107460 |
| MY_SCHEMA   | MY_SPATIAL_TABLE | GEOMCP_C | GEOMETRY  | F       | 1107496 |
+-------------+------------------+----------+-----------+---------+---------+


SQL> use system;
 db_name system

SQL> DROP DATABASE AddGeometryColumn_DB;