4.11 GeoRasterオブジェクトの削除およびGeoRaster表とRDTのアクションの実行

GeoRasterでは、GeoRasterメタデータと、GeoRaster表とラスター・データ表(RDT)間の関係が自動的に維持されます。したがって、ほとんどの操作で、関連する従来のSQL文を使用できます。

  • GeoRasterオブジェクトを削除するには、DELETE文を使用してオブジェクトを含む行を削除します(DELETE FROM geor_table WHERE ...;など)。

    GeoRasterオブジェクトがGeoRaster表から削除されると、RDTに格納されているすべての関連ラスター・データも自動的に削除されます。ラスター・データ表の行を直接挿入または削除しないでください。

  • GeoRaster表を削除するには、DROP文を使用します(DROP geor_table;など)。

    GeoRaster表が削除されると、削除されたGeoRaster表のGeoRasterオブジェクトに関連付けられているすべてのラスター・データも自動的に削除されます。

  • GeoRaster表名を変更するには、RENAME文(RENAME geor_table1 TO geor_table2;など)を使用します。

  • 表にGeoRaster列を追加するには、ALTER TABLE文を使用します。

    ただし、ALTER TABLE文を使用して1つ以上のGeoRaster列を追加する場合は、SDO_GEOR_UTL.createDMLTriggerプロシージャをコールして、追加された各GeoRaster列にDMLトリガーを作成する必要があります。たとえば:

    ALTER TABLE geor_table ADD (image SDO_GEORASTER);  
    CALL sdo_geor_utl.createdmltrigger('GEOR_TABLE','IMAGE');)
    
  • 表のGeoRaster列を削除するには、ALTER TABLE文(ALTER TABLE geor_table DROP COLUMN image;など)を使用します。

    注意: GeoRaster列を削除すると、その列のすべてのGeoRasterオブジェクトが削除されます。

  • RDTを削除するには、最初にそのRDTを参照しているすべてのGeoRasterオブジェクトを削除する必要があり、その後でRDTに対してDROP文を使用できます。

    RDTの削除を試行する前に、RDTを参照しているすべてのGeoRasterオブジェクトを削除しないと、例外が発生します。

  • RDTの名前を変更するにはSDO_GEOR_UTL.renameRDTプロシージャを使用します。