Geometry_Columns
Definition
Die Funktion "Geometry_Columns" gibt anhand des Namens einer Datenbanktabelle, die nicht in der Geodatabase registriert ist, den Namen aller räumlichen Spalten in der Tabelle wieder.
Syntax
sde.geometry_columns(schema name, table name)
Rückgabetyp
Zeichenfolge
Wenn in der Tabelle mehrere räumliche Spalten vorhanden sind, werden die Namen entweder in einer durch Leerzeichen getrennten Liste oder als Rowset zurückgegeben. Wenn in der Tabelle keine räumlichen Spalten vorhanden sind, wird eine leere Zeichenfolge zurückgegeben.
Beispiel
In den folgenden Beispielen ist die Verwendung der Funktion "Geometry_Columns" in den einzelnen unterstützten Datenbanken dargestellt.
DB2
Im folgenden Beispiel wird die Tabelle "centerline" im Schema "transport" abgefragt. Die Tabelle "centerline" enthält nur eine Geometriespalte mit dem Namen "shape".
CALL sde.geometry_columns('TRANSPORT', 'CENTERLINE')
Result set 1
--------------
COLUMN_NAME
------------------------
SHAPE
1 record(s) selected.
Return Status = 0
Im folgenden Beispiel wird die Tabelle "hwys" im Schema "transport" abgefragt. Die Tabelle "hwys" enthält zwei Geometriespalten.
CALL sde.geometry_columns ('TRANSPORT', 'ROADS')
Result set 1
--------------
COLUMN_NAME
------------------------
GEO1
GEO2
2 record(s) selected.
Return Status = 0
Oracle
Im folgenden Beispiel wird die Tabelle "centerline" im Schema "transport" abgefragt. Die Tabelle "centerline" enthält nur eine Geometriespalte mit dem Namen "shape".
SELECT SDE.GDB_UTIL.Geometry_Columns('TRANSPORT', 'CENTERLINE')
FROM DUAL;
SDE.GDB_UTIL.GEOMETRY_COLUMNS('TRANSPORT', 'CENTERLINE')
--------------------------------------------------------
SHAPE
Im folgenden Beispiel wird die Tabelle "roads" im Schema "transport" abgefragt. Die Tabelle "roads" enthält drei Geometriespalten.
SELECT SDE.GDB_UTIL.Geometry_Columns('TRANSPORT', 'ROADS')
FROM DUAL;
SDE.GDB_UTIL.GEOMETRY_COLUMNS('TRANSPORT', 'ROADS')
--------------------------------------------------------
SHAPEROW SHAPEROAD SHAPEMMRKER
PostgreSQL
Im folgenden Beispiel wird die Tabelle "centerline" im Schema "transport" abgefragt. Die Tabelle "centerline" enthält nur eine Geometriespalte mit dem Namen "shape".
SELECT sde.geometry_columns('transport', 'centerline');
shape
Im folgenden Beispiel wird die Tabelle "roads" im Schema "transport" abgefragt. Die Tabelle "roads" enthält zwei Geometriespalten.
SELECT sde.geometry columns('transport', 'roads');
shape1 shape2
SQL Server
Im folgenden Beispiel wird die Tabelle "centerline" im Schema "transport" in einer SDE-Schema-Geodatabase abgefragt. Die Tabelle "centerline" enthält nur eine Geometriespalte mit dem Namen "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
In diesem Beispiel wird die Tabelle "streets" im Schema "transport" in einer DBO-Schema-Geodatabase abgefragt. Die Tabelle "streets" enthält zwei Geometriespalten.
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