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 类型
使用说明
- 该函数支持 3d 并且不会丢失 z-index。
- 该函数支持圆形字符串和曲线。
示例
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;