Geometry_Columns
定義
Geometry_Columns 関数は、ジオデータベースに登録されていないデータベース テーブルの名前を受け取って、テーブル内のすべての空間列の名前を返します。
構文
sde.geometry_columns(schema name, table name)
戻り値のタイプ
String
テーブルに複数の空間列がある場合は、これらの名前がスペース区切りのリストまたは行セットで返されます。テーブルに空間列がない場合は、Null 文字列が返されます。
例
以下の例に、サポートされている各データベースでの Geometry_Columns 関数の使用方法を示します。
DB2
次の例は、スキーマ transport のテーブル centerline を検索しています。centerline テーブルには、shape という名前のジオメトリ列が 1 つだけ含まれています。
CALL sde.geometry_columns('TRANSPORT', 'CENTERLINE')
Result set 1
--------------
COLUMN_NAME
------------------------
SHAPE
1 record(s) selected.
Return Status = 0
次の例は、スキーマ transport のテーブル hwys を検索しています。hwys テーブルには 2 つのジオメトリ列が含まれています。
CALL sde.geometry_columns ('TRANSPORT', 'ROADS')
Result set 1
--------------
COLUMN_NAME
------------------------
GEO1
GEO2
2 record(s) selected.
Return Status = 0
Oracle
次の例は、スキーマ transport のテーブル centerline を検索しています。centerline テーブルには、shape という名前のジオメトリ列が 1 つだけ含まれています。
SELECT SDE.GDB_UTIL.Geometry_Columns('TRANSPORT', 'CENTERLINE')
FROM DUAL;
SDE.GDB_UTIL.GEOMETRY_COLUMNS('TRANSPORT', 'CENTERLINE')
--------------------------------------------------------
SHAPE
次の例は、スキーマ transport のテーブル roads を検索しています。roads テーブルには 3 つのジオメトリ列が含まれています。
SELECT SDE.GDB_UTIL.Geometry_Columns('TRANSPORT', 'ROADS')
FROM DUAL;
SDE.GDB_UTIL.GEOMETRY_COLUMNS('TRANSPORT', 'ROADS')
--------------------------------------------------------
SHAPEROW SHAPEROAD SHAPEMMRKER
PostgreSQL
次の例は、スキーマ transport のテーブル centerline を検索しています。centerline テーブルには、shape という名前のジオメトリ列が 1 つだけ含まれています。
SELECT sde.geometry_columns('transport', 'centerline');
shape
次の例は、スキーマ transport のテーブル roads を検索しています。roads テーブルには 2 つのジオメトリ列が含まれています。
SELECT sde.geometry columns('transport', 'roads');
shape1 shape2
SQL Server
次の例は、sde スキーマ ジオデータベースでスキーマ transport のテーブル centerline を検索しています。centerline テーブルには、shape という名前のジオメトリ列が 1 つだけ含まれています。
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 スキーマ ジオデータベースでスキーマ transport のテーブル streets を検索しています。streets テーブルには 2 つのジオメトリ列が含まれています。
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