본문 바로가기
Lecture/SqlDeveloper

[Oracle] sqldeveloper로 특수문자 입력

by cusmaker 2012. 7. 27.
반응형

sqldeveloper로 데이터를 입력할때 

특수문자 특히 &기호를 substitution variable로 인식하여 

정상적인 값이 들어가지 않은 적이 있다.

이는 select나 다른 쿼리들도 마찬가지로


예를 들어

SQL > INSERT INTO "TABLE_NAME" ("COLUNM_NAME") VALUES ('test&value');

이를 커밋하면


다음과 같은 창이 뜨는데


이를 해결하기위한 방법은 다음과 같다.


1. substitution variable 기능을 OFF시킨다.

1) SQL > SET DEFINE OFF;

2) SQL > SET SCAN OFF;


2. substitution variable 기능을 사용해야 할 경우 &대신 다른문자로 지정한다.

SQL > SET DEFINE @        -- '&' 대신  '@'로 지정


3. 특수문자를 문자로 인식하도록 지정하는 방법

1) escape 문자를 인식하는 기능이 켜져있는지 확인한다. (default : OFF)

SQL > SHOW ESCAPE;

2) ON으로 변경하여 셋팅한다.

SQL > SET ESCAPE ON;

3) Query 에서 특수문자 앞에 '\'를 붙여 사용한다.

SQL >  INSERT INTO "TABLE_NAME" ("COLUNM_NAME") VALUES ('test\&value');


'Lecture > SqlDeveloper' 카테고리의 다른 글

기초 SQL(1)  (0) 2012.04.30
SqlDeveloper 설치  (2) 2012.04.25