3.1 SDO_TOPO.ADD_TOPO_GEOMETRY_LAYER

構文

SDO_TOPO.ADD_TOPO_GEOMETRY_LAYER(     
  topology                 IN VARCHAR2,      
  table_name               IN VARCHAR2,      
  column_name              IN VARCHAR2,      
  topo_geometry_layer_type IN VARCHAR2,      
  relation_table_storage   IN VARCHAR2 DEFAULT NULL,      
  child_layer_id           IN NUMBER DEFAULT NULL);

説明

トポロジ・ジオメトリ・レイヤーをトポロジに追加します。

パラメータ

topology

指定した列内のトポロジ・ジオメトリを含むトポロジ・ジオメトリ・レイヤーを追加するトポロジを指定します。トポロジは、SDO_TOPO.CREATE_TOPOLOGYプロシージャを使用して作成されている必要があります。

table_name

column_nameで指定した列を含むトポロジ・ジオメトリ・レイヤー表の名前を指定します。

column_name

トポロジに追加するトポロジ・ジオメトリ・レイヤー内のトポロジ・ジオメトリを含む(SDO_TOPO_GEOMETRY型の)列の名前を指定します。

topo_geometry_layer_type

トポロジ・ジオメトリ・レイヤーのタイプ(POINT、LINE、CURVE、POLYGONまたはCOLLECTION)を指定します。

relation_table_storage

<topology-name>_RELATION$表(「関係情報表」を参照)を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。

child_layer_id

トポロジがトポロジ・ジオメトリ・レイヤー階層を持つ場合、このレイヤーの子トポロジ・ジオメトリ・レイヤーのレイヤーID番号を指定します。(トポロジ・ジオメトリ・レイヤー階層については、「トポロジ・ジオメトリ・レイヤー階層」を参照してください。)トポロジがトポロジ・ジオメトリ・レイヤー階層を持つときにこのパラメータを指定しない場合、トポロジ・ジオメトリ・レイヤーは階層の最も低いレベル(レベル0 (ゼロ))に追加されます。

トポロジがトポロジ・ジオメトリ・レイヤー階層を持たない場合は、トポロジ・ジオメトリ・レイヤーの追加時にこのパラメータを指定しないでください。

使用上のノート

任意のトポロジに対してこのプロシージャを最初にコールしたときに、<topology-name>_RELATION$表(「関係情報表」を参照)が作成されます。

このプロシージャは、自動的にコミット操作を実行するため、ロールバックすることができません。作成したトポロジを削除するには、SDO_TOPO.DELETE_TOPO_GEOMETRY_LAYERプロシージャをコールします。

このプロシージャによって、トポロジ・ジオメトリ内の空間フィーチャに空間索引が作成され、さらにトポロジ・ジオメトリ内のtg_typetg_idの組合せに対するBツリー索引が作成されます。

CONNECTロールおよびRESOURCEロールを付与されているユーザーには、このプロシージャをコールするためにCREATE VIEW権限も付与されている必要があります。これは、Oracle Database 10g リリース2でのCONNECTロールの権限削減により、CONNECTロールからCREATE CLUSTER、CREATE DATABASE LINK、CREATE SEQUENCE、ALTER SESSION、CREATE SYNONYM、CREATE TABLE、CREATE VIEWの権限が削除されたため必要になります。

トポロジ・ジオメトリ・レイヤー表(table_nameパラメータ)は、オブジェクト表として指定することはできません。

topologytable_nameまたはcolumn_nameを指定していない場合、またはtopo_geometry_layer_typeの値がサポートされていない場合、例外が発生します。

次の例では、トポロジ・ジオメトリ・レイヤーをCITY_DATAトポロジに追加します。トポロジ・ジオメトリ・レイヤーは、LAND_PARCELS表のFEATURE列内のポリゴン・ジオメトリで構成されています。(この例では、「トポロジ・データから作成したトポロジ」の定義およびデータを参照しています。)

EXECUTE SDO_TOPO.ADD_TOPO_GEOMETRY_LAYER('CITY_DATA', 'LAND_PARCELS', 'FEATURE', 'POLYGON');