7.9 SDO_GEOR.copy
形式
SDO_GEOR.copy( inGeoRaster IN SDO_GEORASTER, outGeoRaster IN OUT SDO_GEORASTER);
説明
既存のGeoRasterオブジェクトのコピーを作成します。
パラメータ
- inGeoRaster
-
コピーするGeoRasterオブジェクトを指定します。
- outGeoRaster
-
コピー操作の結果を格納するGeoRasterオブジェクトを指定します。既存の有効なGeoRasterオブジェクトまたは空のGeoRasterオブジェクトのいずれかであることが必要です。(空のGeoRasterオブジェクトの詳細は、「空白のGeoRasterオブジェクトと空のGeoRasterオブジェクト」を参照してください)。
inGeoRasterと同じGeoRasterオブジェクトは指定できません。
使用上のノート
outGeoRasterオブジェクトは、inGeoRasterオブジェクトの正確なコピーになります。コピー操作中、出力されるGeoRasterオブジェクトを変更するには、SDO_GEOR.changeFormatCopyプロシージャを使用します。
inGeoRasterがNULLの場合、このプロシージャは処理を実行しません。
outGeoRasterがラスター・データを持つ場合、コピー処理の前に削除されます。
inGeoRasterとoutGeoRasterには異なるGeoRasterオブジェクトを指定する必要があります。
inGeoRasterにピラミッド・データが存在する場合、ピラミッド・データはoutGeoRasterにコピーされます。
次の1つ以上の条件に該当する場合、例外が発生します。
-
inGeoRasterが無効である。 -
outGeoRasterが初期化されていない。 -
outGeoRasterに対するラスター・データ表が存在せず、outGeoRasterが空白のGeoRasterオブジェクトではない。
例
次の例では、初期化されたGeoRasterオブジェクト(gr2)をGEORASTER_TABLE表のGEORASTER列に挿入し、gr2を別のGeoRasterオブジェクト(gr1)の正確なコピーにして、GEORASTER列の値にgr2を指定して挿入された行を更新します。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE
gr1 sdo_georaster;
gr2 sdo_georaster;
BEGIN
INSERT INTO georaster_table VALUES (11, sdo_geor.init('RDT_11', 1))
RETURNING georaster INTO gr2;
SELECT georaster INTO gr1 from georaster_table WHERE georid=1;
sdo_geor.copy(gr1, gr2);
UPDATE georaster_table SET georaster=gr2 WHERE georid=11;
COMMIT;
END;
/親トピック: SDO_GEORパッケージのリファレンス