오라클에서 &등과 같은 특수문자가 포함된 텍스트(주로 URL값 입력시)를 SQL Developer에서 입력할 때 "대체변수 입력" 창이 아래와 같이 뜨게 된다.



이경우 해결할 수 있는 방법은 몇가지가 존재한다.


1. ASCII 코드값 입력하기 (★)

- 특수문자를 아스키코드 값으로 대체한다.


1) 아스키코드 값 추출

select ascii('&') from dual;


2. 아스키코드 값 입력

update url_tbl 
   set url = 'http://www.naver.com?aaa=bbb' || ch(38) || 'ccc=ddd'
  from url_id = '111111111';


2. DEFINE OFF 시키기

- & 특수기호의 경우는 대체 변수로 치환하게 되어 있다.

- SET DEFINE OFF를 하게되면 [대체 변수 입력] 프롬프트가 뜨지 않게 된다.


set define off

update url_tbl 
   set url = 'http://www.naver.com?aaa=bbb&ccc=ddd'
  from url_id = '111111111';
  
set define on


3. ESCAPE ON 처리하기

- ESCAPE ON을 하고 역슬래쉬(\)를 특수문자 앞에 붙히면 입력할 수 있게 된다.


set escape on update url_tbl set url = 'http://www.naver.com?aaa=bbb\&ccc=ddd' from url_id = '111111111'; set escape off



Posted by SungHoon, Park
,