#sql #oracle #plsql
В PL/SQL блоке, как экранировать одиночные кавычки в строчном литерале? Пробую так, но это не работает: stmt varchar2 (4000) := 'insert into mytable (col) values (\'ER0002\')';
Ответы
Ответ 1
Используйте альтернативное квотирование с вводным символом Q или q: stmt := q'[insert into MY_TBL (Col) values('ER0002')]'; Ограничителем может быть любой символ отличный от пробельных, и он же должен завершать литерал перед последней одиночной кавычкой. Исключение скобки - {,(,[,<, где в конце ожидается соответствующая закрывающаяся скобка. Также, можно использовать две одиночные кавычки следующие друг за другом: stmt := 'insert into MY_TBL (Col) values(''ER0002'')'; Но синтаксис квотирования с Q более гибкий и читабельный. Источник: @DCookie
Комментариев нет:
Отправить комментарий