2017-01-19 5 views
1

Я конкатенацией некоторых текстов, и я получаю эту странную ошибку, что я не могу найти ничего оORA-64451: Конверсия специального символа для сбежавшего характера не удалась

UPDATE Table1 a 
SET a.AllTexts = a.Text 
    || a.Title 
    || 
    (SELECT XMLAGG(XMLELEMENT(E,"Text",',').EXTRACT('//text()')).GetClobVal() 
    FROM Table2 b 
    WHERE b.El_Id = a.Id 
) 

AllTexts является CLOB, все остальные столбцы VARCHAR2

я

Error report - 
SQL Error: ORA-64451: Conversion of special character to escaped character failed. 
64451. 00000 - "Conversion of special character to escaped character failed." 
*Document: NO 
*Cause: An attempt to convert a special character to an escaped character failed. 
*Action: Remove the special character that cannot be escaped. 

Edit: ошибка вызвана каким-то странным симво Bols. Проблема в том, что нет никакого способа знать заранее, какие символы будут блокировать выполнение

+0

обновленный вопрос – Toolkit

+1

Попробуйте сузить проблему. Подзапрос сам по себе работает нормально, без предложения WHERE? (Это очень общий принцип «устранения проблем с кодом».) – mathguy

+0

Возможно, это также поможет включить типы данных столбцов в ваши таблицы и примерные данные (как можно меньше), которые генерируют ошибку. –

ответ

1

Я получил этот код ошибки, и эта работа для меня

REGEXP_REPLACE(COLUMN, '[^[:print:]]', '')