Подтвердить что ты не робот

Устранение амперсанда в PL/SQL Developer

Я пытаюсь сделать простой оператор INSERT для базы данных Oracle. Одним из значений является поле VARCHAR2, а инструкция insert содержит амперсанд. Как мне это сделать? Я пробовал следующие методы:

  • Побег и как \& с нажатием кнопки
  • установить сканирование выключено (это приводит к ошибке или ошибке ошибки ORA-00922)
  • set define off (это приводит к ошибке или ошибке ошибки ORA-00922)

Любые другие идеи?

4b9b3361

Ответ 1

Как я решил, что он убегает и с другим &.

Например:

INSERT INTO Foo (Bar) VALUES ('Up && Away');

Хорошо работает. Спасибо за помощь

Ответ 2

Одна из особенностей PL/SQL Developer, для которой требуется время, чтобы ознакомиться с множеством различных типов окон.

Одним из них является окно COMMAND, которое в основном является эмулятором SQL * Plus. Мы можем запускать команды SQL * Plus, а также SQL, поэтому SET ESCAPE, SET DEFINE и действительно SET SCAN OFF работают в этом окне.

Ответ 3

В текущей версии PL/SQL Developer (11.0.x) есть кнопка для отключения/замены переменных замещения.

введите описание изображения здесь

Ответ 4

Вы пробовали что-то вроде этого?

INSERT INTO tablex VALUES ('Sid ' || '&' || ' Nancy');

Улучшая мой первый ответ, ваша проблема связана с PL/SQL Developer. Если вы выполните свой блок в окне командной строки PL/SQL Developer, вы также можете использовать стандартный SET DEFINE OFF, который работает так же, как и в SQL * Plus.

Ответ 5

concat работал отлично для меня ниже, это то, что я сделал в своем выборе:

select FUND_NM
FROM PERFORMANCE
WHERE upper(FUND_DESC) in ('My L&' ||'L FUNDS')

Ответ 6

Я использую chr(38), где мне нужен амперсанд в PL/SQL.

addr:= 'mysite.com/order.aspx?no=5678' || CHR(38) || 'id=947';
--above line gives you 'mysite.com/order.aspx?no=5678&id=947';

Ответ 7

Это просто проблема с редактором SQL. Чтобы решить эту проблему, просто скомпилируйте процедуру с SET DEFINE OFF;, Выполнение, которое является PL (выполняется на сервере), не столкнется с этой проблемой.