У меня проблема с оракулом, так как я новичок в языке sql: D,
вот мой запрос
CREATE OR REPLACE PROCEDURE MONDESINT.UPDATECOADESCRIPTION IS
DESCRIPT MONDES_MSTR_CHART_OF_ACCOUNT.NAMA_AKUN%type;
BEGIN
FOR SATU IN (select NO_AKUN, NAMA_AKUN
from mondes_mstr_chart_of_account
where NO_AKUN LIKE '4-1-200-2-03-000%')
LOOP
select REPLACE(NAMA_AKUN,SUBSTR(NAMA_AKUN,0,33),'Utang-Dana Deposit-USD')
INTO DESCRIPT
from mondes_mstr_chart_of_account
where NO_AKUN = '4-1-200-2-03-0009';
update mondes_mstr_chart_of_account
set NAMA_AKUN = DESCRIPT
where NO_AKUN = '4-1-200-2-03-0009';
END LOOP;
END UPDATECOADESCRIPTION;
В этом случае я бы заменил некоторую строку в столбце таблицы. Имя столбца «NAMA_AKUN», я бы заменил NAMA_AKUN, где NO_AKUN LIKE «4-1-200-2-03-000%». В приведенном выше коде я пробую для одной записи, что NO_AKUN = '4-1-200-2-03-0009'.
select REPLACE(NAMA_AKUN,SUBSTR(NAMA_AKUN,0,33),'Utang-Dana Deposit-USD')
from mondes_mstr_chart_of_account
where NO_AKUN = '4-1-200-2-03-0009';
... работает хорошо, он заменит "DOLLAR AMERICA" на "USD", т.е.: "BLA BLA Bla-DOLLAR AMERICA-Bla Bla" изменится на "BLA BLA Bla-USD-Bla Bla"
примечание: длина символа перед "DOLLAR" одинакова для всех записей.
Проблема в том ...
Когда я выполню эту процедуру, результатом будет: «BLA BLa Bla-USD» без каких-либо следующих USD. ожидаемый результат - "BLA BLa Bla-USD-Bla Bla"
Есть идеи?