Geometry_Columns
Определение
Функция Geometry_Columns получает имя таблицы базы данных, которая не зарегистрирована в базе геоданных, и возвращает имена всех пространственных столбцов в данной таблице.
Синтаксис
sde.geometry_columns(schema name, table name)
Тип возврата
Строка (String)
Если в таблице несколько пространственных столбцов, их имена будут возвращены или списком, разделенным пробелами, или набором строк. Если в таблице нет пространственных столбцов, будет возвращена нулевая строка.
Пример
Следующие примеры демонстрируют использование функции Geometry_Columns в каждой поддерживаемой базе данных.
DB2
Следующий пример выполняет запрос к таблице centerline в схеме transport. Таблица centerline содержит только один столбец геометрии с названием shape.
CALL sde.geometry_columns('TRANSPORT', 'CENTERLINE')
Result set 1
--------------
COLUMN_NAME
------------------------
SHAPE
1 record(s) selected.
Return Status = 0
В данном примере выполняется запрос к таблице hwys в схеме transport. Таблица hwys содержит два столбца геометрии.
CALL sde.geometry_columns ('TRANSPORT', 'ROADS')
Result set 1
--------------
COLUMN_NAME
------------------------
GEO1
GEO2
2 record(s) selected.
Return Status = 0
Oracle
В данном примере выполняется запрос к таблице centerline в схеме transport. Таблица centerline содержит только один столбец геометрии с названием shape.
SELECT SDE.GDB_UTIL.Geometry_Columns('TRANSPORT', 'CENTERLINE')
FROM DUAL;
SDE.GDB_UTIL.GEOMETRY_COLUMNS('TRANSPORT', 'CENTERLINE')
--------------------------------------------------------
SHAPE
В данном примере выполняется запрос к таблице roads в схеме transport. Таблица roads содержит три столбца геометрии.
SELECT SDE.GDB_UTIL.Geometry_Columns('TRANSPORT', 'ROADS')
FROM DUAL;
SDE.GDB_UTIL.GEOMETRY_COLUMNS('TRANSPORT', 'ROADS')
--------------------------------------------------------
SHAPEROW SHAPEROAD SHAPEMMRKER
PostgreSQL
Следующий пример выполняет запрос к таблице centerline в схеме transport. Таблица centerline содержит только один столбец геометрии с названием shape.
SELECT sde.geometry_columns('transport', 'centerline');
shape
В данном примере выполняется запрос к таблице roads в схеме transport. Таблица roads содержит два столбца геометрии.
SELECT sde.geometry columns('transport', 'roads');
shape1 shape2
SQL Server
Следующий пример выполняет запрос к таблице centerline в схеме transport в базе геоданных со схемой sde. Таблица 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
В данном примере выполняется запрос к таблице streets в схеме transport в базе геоданных со схемой dbo. Таблица 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