8.14 SDO_GEOR_ADMIN.maintainSysdataEntries
形式
SDO_GEOR_ADMIN.maintainSysdataEntries() RETURN SDO_STRING2_ARRAY;
説明
USER_SDO_GEOR_SYSDATAビューで無効なエントリを確認し、必要に応じて修正処理を行います。
パラメータ
なし。
使用上のノート
このファンクションはSDO_GEOR_ADMIN.checkSysdataEntriesファンクションと同じ確認を実行し、(該当する修正処理がある場合は)適切な修正処理を行います。次の各エラーについて、このファンクションでは次の修正処理を行います。
-
RDT名が一意でない。DBAロールを持っていないユーザーとして接続している場合は何も処理が行われません。DBAロールを持つユーザーとして接続している場合は、RDT名が一意になるように、重複しているRDTの名前が変更されます。
-
GeoRaster表が存在しない。エントリが削除されます。
-
GeoRaster列が存在しない。エントリが削除されます。
-
GeoRasterオブジェクトが存在しない。エントリが削除されます。
-
GeoRasterオブジェクトが空または空白ではないが、RDTが存在しない。エントリが削除されます。
-
GeoRasterオブジェクトが重複して存在する(RDTとラスターIDの一意ではない組合せが1つ以上存在する)。エントリが削除されます。
DBAロールを持つユーザーとしてこのプロシージャを実行すると、データベース内のすべてのスキーマでメンテナンスが実行されます。それ以外の場合は、現行のスキーマでメンテナンスが実行されます。
USER_SDO_GEOR_DATAおよびALL_SDO_GEOR_SYSDATAビューの詳細は、「GeoRasterシステム・データ・ビュー(xxx_SDO_GEOR_SYSDATA)」を参照してください。
例
次の例では、USER_SDO_GEOR_SYSDATAビューで無効なエントリを確認し、必要に応じて修正処理を行います。
DECLARE ret SDO_STRING2_ARRAY; BEGIN ret:=sdo_geor_admin.MAINTAINSYSDATAENTRIES; for i in 1..ret.count loop dbms_output.put_line(ret(i)); end loop; END; / The RDT name GEOR_TEST1.RDT2 is renamed to GEOR_TEST1.RDT1! The sysdata entry (SCHEMA=GEOR_TEST1 RDT=dt1 RID=1) is deleted! PL/SQL procedure successfully completed.
親トピック: SDO_GEOR_ADMINパッケージのリファレンス