У вас есть проблема в:
:new.column := REPLACE( :new.column, ''%'||chr(253)||'%'', ' ' );
Должно быть:
:new.column := REPLACE( :new.column, chr(253), ' ' );
Кроме того, вам не нужно проверять перед использованием REPLACE
, но вы можете просто сделать
BEGIN
:new.column := REPLACE( :new.column, chr(253), ' ' );
END;
Если вам нужно обработать более одного символа, TRANSLATE
может быть способом; например:
SELECT TRANSLATE('aaXbbYccZdd', 'XYZ', ' ') from dual
дает:
TRANSLATE('AAXBBYCCZDD','XYZ','')
---------------------------------
aa bb cc dd