Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

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です。


ご存知の方どうかよろしくお願いします。
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 1 2011
Added on Jul 1 2011
1 comment
1,378 views