13.24 SDO_GEOR_UTL.renameRDT

形式

SDO_GEOR_UTL.renameRDT(
     oldRDTs  VARCHAR2, 
     newRDTs  VARCHAR2 DEFAULT NULL);

説明

現行ユーザーが所有する1つ以上の既存の登録済ラスター・データ表の名前を変更し、その新しい名前が反映されるように、GeoRasterシステム・データおよび影響を受けるGeoRasterのすべてのオブジェクトを更新します。

パラメータ

oldRDTs

名前を変更する登録済ラスター・データ表の名前を指定します。複数の表を指定する場合は、カンマ区切りリストを使用します。

newRDTs

oldRDTsで指定されたラスター・データ表に割り当てる新しい名前を指定します。複数の表を指定する場合は、カンマ区切りリストを使用します。指定する順序は、oldRDTsで指定した名前と正確に対応するようにします。このパラメータにNULLを指定すると、GeoRasterは入力されたそれぞれのラスター・データ表に対して新しい一意の名前を割り当てます。

使用上のノート

別のユーザーが所有する1つ以上の登録済ラスター・データ表に同じ名前が定義されている場合は、このプロシージャか、SDO_GEOR_UTL.makeRDTNamesUniqueプロシージャ、または両方を使用して重複を解消できます。

このプロシージャを使用する前に、ラスター・データ表の所有者としてデータベースに接続する必要があります。このプロシージャでは、他のユーザーが所有しているラスター・データ表の名前を変更することはできません。

oldRDTsのいずれの表もGeoRasterシステム・データに含まれていない場合、その表は無視されます。

newRDTsのいずれかの表がGeoRasterシステム・データの名前と競合する場合、または現行ユーザーが所有している他のオブジェクトの名前と競合する場合は、例外が発生します。

このプロシージャはトランザクションではないため、結果はロールバックできません。

次の例では、登録済ラスター・データ表RDT_1およびRDT_2の名前を、それぞれST_RDT_1およびST_RDT_2に変更します。

EXECUTE sdo_geor_utl.renameRDT('RDT_1,RDT_2','ST_RDT_1,ST_RDT_2');