2016-11-23 12 views
1

В настоящее время я пытаюсь вставить значение в столбец varchar2 из базы данных Oracle. Значение (и полное специальных символов ....):Oracle Вставить специальные символы и имена функций

'Data\QVD\QVD_'& replace(v_sc_val_ExecutionEnvironment, chr(39),'') &'\VTB_MOD1_RESULT\' 

(Сво QlikView Formular, которые должны быть сохранены в базе данных После этого я могу извлечь и оценить его с QlikView, но мне нужно точно. данный формат.)

Я уже пытался избежать всех «с» и так далее, но до сих пор он не работал. Определить тоже не получилось.

Я также нашел: https://docs.oracle.com/cd/B10501_01/text.920/a96518/cqspcl.htm , но не нашел там решения.

Надеюсь, у кого-то были такие же проблемы или он знает решение.

Заранее благодарен!

+0

Что вы подразумеваете под «это пока не работает»? Что вы вставляете (покажите нам свою команду) и что вы получите? –

+0

Я ничего не знаю о QlikView, но любая достойная технология с поддержкой базы данных должна была подготовить заявления или, по крайней мере, встроенную функцию escape. Вы не можете сделать это вручную, это будет сумасшествие. –

ответ

1

Может быть, вы можете попробовать q quote operator:

insert into yourTable(c) 
values (q'['Data\QVD\QVD_'& replace(v_sc_val_ExecutionEnvironment, chr(39),'') &'\VTB_MOD1_RESULT\']'). 

Таким образом, вы не должны нуждаться не бежать, а текст должен быть вставлен точно так, как вы его напечатали.

+0

Большое спасибо! Это решило мою проблему. Вы видите какой-либо недостаток, используя это на любой вставке строки? – Salfii

+0

Oracle не дает никаких ограничений по этому поводу; Я считаю, что это лучший способ обработки строк с кавычками и специальными символами. – Aleksej

+0

Еще раз спасибо, ты мне очень помог. – Salfii

 Смежные вопросы

  • Нет связанных вопросов^_^