Lecture/SqlDeveloper
[Oracle] sqldeveloper로 특수문자 입력
cocyio
2012. 7. 27. 03:02
반응형
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');