Определение
Функция Geometry_Columns использует имя таблицы базы данных, которая не зарегистрирована с базой геоданных и возвращает имена всех пространственных столбцов в этой таблице.
Синтаксис
sde.geometry_columns(schema name, table name)
Тип возвращаемого значения
Строка
Если в таблице несколько пространственных столбцов, их имена будут возвращены либо в виде списка, разделенного пробелами, либо набором строк. Если в таблице отсутствуют пространственные столбцы – будет возвращено пустое значение.
Пример:
В следующем примере показано использование функции Geometry_Columns для каждой поддерживаемой база данных.
Db2
В этом примере выполняется запрос к таблице слоя центральных линий улиц в схеме транспорта. Таблица центральных линий улиц содержит только один столбец геометрии с именем 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
В этом примере выполняется запрос к таблице слоя центральных линий улиц в схеме транспорта. Таблица центральных линий улиц содержит только один столбец геометрии с именем 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
В этом примере выполняется запрос к таблице слоя центральных линий улиц в схеме транспорта. Таблица центральных линий улиц содержит только один столбец геометрии с именем shape.
SELECT sde.geometry_columns('transport', 'centerline');
shape
В этом примере запрашивается таблица roads в схеме транспорта. В таблице roads есть два столбца геометрии.
SELECT sde.geometry columns('transport', 'roads');
shape1 shape2
SQL Server
В этом примере выполняется запрос к таблице слоя центральных линий улиц в схеме транспорта в sde-схеме базы геоданных. Таблица центральных линий улиц содержит только один столбец геометрии с именем 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 в схеме транспорта в sde-схеме базы геоданных. В таблице 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