4.14 コミット前のGeoRasterオブジェクトの更新

GeoRasterのセル・データまたはメタデータを挿入、更新、再フォーマット、圧縮、解凍または削除するデータベース・トランザクションをコミットする前に、SQL UPDATE文を使用してGeoRasterオブジェクトを更新する必要があります。セル・データの変更後にGeoRasterオブジェクトを更新しないと、無効なGeoRasterオブジェクト、ダングリング・ラスター・データ、および一貫性のないメタデータの1つ以上が発生する可能性があります。GeoRasterメタデータの変更後にGeoRasterオブジェクトを更新しないと、メタデータの変更は反映されません。

トランザクションをコミットしないでロールバックする場合は、UPDATE文は必要ありません。

例4-4では、UPDATE文はSDO_GEOR.changeFormatCopyプロシージャのコールの後およびCOMMIT文の前に必要です。

例4-4 コミット前のGeoRasterオブジェクトの更新

DECLARE
    gr1 sdo_georaster;
    gr2 sdo_georaster;
BEGIN
    SELECT georaster INTO gr2 from georaster_table WHERE georid=11 FOR UPDATE;
    SELECT georaster INTO gr1 from georaster_table WHERE georid=1;
    sdo_geor.changeFormatCopy(gr1, 'blocksize=(2048,2048)', gr2);
    UPDATE georaster_table SET georaster=gr2 WHERE georid=11;
    COMMIT;
END;
/