Oracle SQL Developer를 사용하여 SQL 삽입 문을 실행하려고 시도하는 동안 “대체 값 입력”프롬프트가 계속 생성됩니다.
insert into agregadores_agregadores
(
idagregador,
nombre,
url
)
values
(
2,
'Netvibes',
'http://www.netvibes.com/subscribe.php?type=rss\&url='
);
위의 ‘\’를 사용 하여 쿼리에서 특수 문자를 이스케이프 하려고 시도 했지만 여전히 앰퍼샌드 ‘&’를 피할 수 없어 문자열 대체가 발생합니다.
답변
&는 대체 변수를 사용할 수있는 DEFINE의 기본값입니다. 나는 그것을 사용하여 끄고 싶다.
정의 설정 해제
그러면 탈출이나 CHR (38)에 대해 걱정할 필요가 없습니다.
답변
|| chr(38) ||
이 솔루션은 완벽합니다.
답변
정의 문자를 & 이외의 것으로 설정하십시오.
SET DEFINE ~ blah 테이블 생성 (x varchar (20)); blah (x) 값에 삽입 ( 'blah & amp'); blah에서 *를 선택하십시오. 엑스 -------------------- blah & amp
답변
insert into AGREGADORES_AGREGADORES (IDAGREGADOR,NOMBRE,URL)
values (2,'Netvibes',
'http://www.netvibes.com/subscribe.php?type=rss' || chr(38) || 'amp;url=');
답변
SELECT 'Free &' || ' Clear' FROM DUAL;
답변
select 'one'||'&'||'two' from dual
답변
진짜 대답은 이스케이프 문자를 ‘\’로 설정해야한다는 것입니다. SET ESCAPE ON
이스케이프가 비활성화되었거나 이스케이프 문자가 ‘\’가 아닌 다른 것으로 설정 되었기 때문에 문제가 발생했을 수 있습니다. 위의 문은 탈출있게 하고 그것으로 ‘\’로 설정합니다.
이전에 게시 된 다른 답변 중 실제로 원래 질문에 대한 답변이 없습니다. 그들은 모두 문제를 해결하지만 해결하지는 않습니다.