LONG型のカラムをカーソルにセットし値を更新しても表に反映されない
872816Jul 1 2011 — edited Jul 4 2011お世話になります。
LONG型のカラムに長い文字列がセットされてるのですが、その文字列の中からある特定の文字列を別の文字に置換したいのです。
SELECT ~ REPLACE関数 from テーブルにて更新しようと思ったのですが、LONG型では使えないらしく、PL/SQLにて以下のように作成しました。
DECLARE
CURSOR CURSOR1 IS SELECT * FROM T_テーブル;
HIGH_VALUE_WORK VARCHAR2(32760);
BEGIN
FOR REC_CURSOR1 IN CURSOR1 LOOP
HIGH_VALUE_WORK := REC_CURSOR1.カラム;
HIGH_VALUE_WORK := REPLACE(HIGH_VALUE_WORK, 'あああ', ' ');
REC_CURSOR1.カラム := HIGH_VALUE_WORK;
END LOOP;
END;
/
しかしテーブルを確認しても変更されてませんでした。
更新直後にDBMS_OUTPUTにて値確認すると正しく更新されてました。
DBはOracle10gR2です。
ご存知の方どうかよろしくお願いします。