4.50 SDO_TOPO_MAP.UPDATE_TOPO_MAP

構文

SDO_TOPO_MAP.UPDATE_TOPO_MAP;

説明

トポロジを更新して、現行の更新可能なTopoMapオブジェクトに対して行われた編集を反映します。

パラメータ

なし。

使用上のノート

このプロシージャは、編集セッション中、定期的にトポロジを更新する場合に使用します(「キャッシュを明示的に使用した編集処理(PL/SQL API)」を参照)。エッジ情報表、フェイス情報表およびノード情報表への更新は必要に応じて行われます(「トポロジ・データ・モデル表」を参照)。TopoMapオブジェクトは、追加の編集操作のためにオープンしたままになります。SDO_TOPO_MAP.COMMIT_TOPO_MAPプロシージャをコールするまで、更新がデータベースに実際にコミットされることはありません。

このプロシージャは、トポロジを更新する前に、TopoMapオブジェクトに対してレベル0の検証を実行します。(詳細は、SDO_TOPO_MAP.VALIDATE_TOPO_MAPファンクションのlevelパラメータの説明を参照してください。)

TopoMapオブジェクトのロード時にインメモリーRツリー索引を作成した場合(SDO_TOPO_MAP.LOAD_TOPO_MAPファンクションまたはプロシージャでbuild_indexesパラメータにTRUEを指定するか、またはデフォルト値を受け入れた場合)、SDO_TOPO_MAP.CREATE_EDGE_INDEXプロシージャおよびSDO_TOPO_MAP.CREATE_FACE_INDEXプロシージャを使用して、これらの索引を再作成できます。索引のパフォーマンスを最適化するには、位相要素を数多く編集したときに、これらの索引を定期的に再作成する必要があります。

このプロシージャは、指定したTopoMapオブジェクトに関連付けられたキャッシュをクリアして、オブジェクトを読取り専用に設定するSDO_TOPO_MAP.CLEAR_TOPO_MAPプロシージャとは対照的です。

TopoMapオブジェクトのすべての変更をコミットするには、SDO_TOPO_MAP.COMMIT_TOPO_MAPプロシージャを使用します。

インメモリー・キャッシュを使用して位相要素を編集する方法の詳細は、「トポロジ・データを編集する方法」を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるTopoMapクラス(「トポロジ・データ・モデルのJavaインタフェース」を参照)のupdateTopologyメソッドを使用する場合と同じです。

次の例では、現行の更新可能なTopoMapオブジェクトに関連付けられたトポロジを更新して、このオブジェクトに対して行われた変更を反映させます。

EXECUTE SDO_TOPO_MAP.UPDATE_TOPO_MAP;