Geometry_Columns

定义

Geometry_Columns 函数未注册到地理数据库的数据库表的名称,并返回表中的所有空间列的名称。

语法

sde.geometry_columns(schema name, table name)

返回类型

字符串

如果表中存在多个空间列,则名称将通过以空格分隔的列表或行集返回。如果表中没有空间列,则返回空字符串。

示例

以下示例显示了各个受支持的数据库中 Geometry_Columns 函数的使用。

DB2

以下示例对方案传输中的表 centerline 进行了查询。centerline 表只包含名称为 shape 的一个几何列。

CALL sde.geometry_columns('TRANSPORT', 'CENTERLINE')

Result set 1
--------------
COLUMN_NAME
------------------------
SHAPE

1 record(s) selected.
Return Status = 0

在该示例中,在方案传输中查询了表 hwys。hwys 表包含两个几何列。

CALL sde.geometry_columns ('TRANSPORT', 'ROADS')

Result set 1
--------------
COLUMN_NAME
------------------------
GEO1 
GEO2

2 record(s) selected.
Return Status = 0

Oracle

以下示例对方案传输中的表 centerline 进行了查询。centerline 表只包含名称为 shape 的一个几何列。

SELECT SDE.GDB_UTIL.Geometry_Columns('TRANSPORT', 'CENTERLINE')
FROM DUAL;

SDE.GDB_UTIL.GEOMETRY_COLUMNS('TRANSPORT', 'CENTERLINE')
--------------------------------------------------------
SHAPE

本示例中,在方案传输中查询了表 roads。roads 表包含三个几何列。

SELECT SDE.GDB_UTIL.Geometry_Columns('TRANSPORT', 'ROADS')
FROM DUAL;

SDE.GDB_UTIL.GEOMETRY_COLUMNS('TRANSPORT', 'ROADS')
--------------------------------------------------------
SHAPEROW SHAPEROAD SHAPEMMRKER

PostgreSQL

以下示例对方案传输中的表 centerline 进行了查询。centerline 表只包含名称为 shape 的一个几何列。

SELECT sde.geometry_columns('transport', 'centerline');

shape

本示例中,在方案传输中查询了表 roads。roads 表包含两个几何列。

SELECT sde.geometry columns('transport', 'roads');

shape1 shape2

SQL Server

以下示例对 sde 方案地理数据库的方案传输中的表 centerline 进行了查询。centerline 表只包含名称为 shape 的一个几何列。

DECLARE @owner nvarchar(128) = 'transport';
DECLARE @table nvarchar(128) = 'centerline';

-- The geometry_columns function returns a rowset, much like a SELECT statement does. 
-- Execute geometry_columns, inserting the rowset into a table variable

DECLARE @col_list table (column_name sysname);
INSERT @col_list EXEC sde.geometry_columns @owner, @table;

SELECT column_name "GEOMETRY COLUMNS" 
FROM @col_list

GEOMETRY COLUMNS
shape

在该示例中,对 dbo 方案地理数据库的方案传输中的表 streets 进行了查询。streets 表包含两个几何列。

DECLARE @owner nvarchar(128) = 'transport';
DECLARE @table nvarchar(128) = 'streets';

-- Execute geometry_columns, inserting the rowset into a table variable.

DECLARE @col_list table (column_name sysname);
INSERT @col_list EXEC dbo.geometry_columns @owner, @table;

-- Display results stored in table variable
-- Because the results were written to a table, the values are in rows rather than a space-separated list.

SELECT column_name "GEOMETRY COLUMNS" 
FROM @col_list

GEOMETRY COLUMNS
spcol1
spcol2
9/15/2013