|
oracle 특수문자 입력시 Substitution Variable 변수치환을 없애는 방법 |
|
개발환경 : Toad 9.7.2.2 , Oracle 11g, Window 7 32bit |
먼저 Substitution Variable 이 무엇인지 알아보자. 이것은 변수치환, 그러니까
쿼리에서 문자가 아닌 & 특수문자 뒤에 붙은 단어가 변수로 작용한다는
말이다. 변수는 다른 값을 받아들일 준비를 한다는 말이며 쿼리를 실행하고
그 변수값을 넣어줘야 제대로 실행이 된다.
이 기능을 사용하고 싶지 않을 때가 있을 것이다. 그럴때는 아래와 같이
3가지 방법을 사용해 중시 시키면 & 특수문자를 써도 변수로 인식하지 않는다.
|
(1) define 정보 off 시키기 |
& 특수문자가 입력 쿼리에 붙게 되면 그걸 변수로 인식하게 된다.
토드에서 INSERT, UPDATE 를 하게 되면 아래 그림과 같이 변수에 값을 입력하라는
창이 뜨게 된다.
그리고 그에 해당하는 쿼리문에 대한 내용이다. URL 주소를 입력하는 부분에서
& 특수문자가 들어간걸 알수있다. & 뒤부터 act 까지 변수로 인식한 것이다.
먼저 해당 계정으로 들어가야 된다. sys 계정으로 들어가서 설정한다고 해도
계정이 전부 적용이 되는 것이 아니기 때문에 사용하는 계정으로 들어가서
설정을 해야한다.
이 쿼리를 수행하면 에러가 나므로 그냥 & 를 일반 문자로 인식하게 해줄
필요가 있다. 그럴려면 일단 Oracle 에서 특수문자 define 정보가 어떻게 되어있는
알 필요가 있다. SQL > show define ; 명령어를 실행해 본다.
hex 26 으로 지정된걸 볼수 있는데 이것을 OFF 시켜주자.
명령어는 간단하다. set define off 혹은 set scan off 명령을 실행하여
Substitution Variable기능을 중단시킨다.
|
(2) Substitution Variable 다른 문자로 셋팅한다. |
이것은 별로 추천하고 싶지 않은 방법이다. 그 다른 특수문자도 사용이 될수도 있기 때문이다.
명령어는 간단하다. SQL > set define $ ; 실행하면 $ 가 Substitution Variable 문자가 된다.
|
(3) escape 를 붙여서 특수기능이 아닌 일반 문자로 인식하게 한다. |
escape 기능이 on 되어있는지 확인한다. SQL > show escape; 로 확인할수 있다.
이것이 안되어있으면 on 을 시켜야 한다. 명령어는 다음과 같다. SQL > set escape on;
escape 기능이 설정되었다면 쿼리문에서 & 특수문자 앞에 \ 를 붙이면 된다.
'기타 언어 > 데이터베이스(SQL)' 카테고리의 다른 글
| 오라클(Oracle) 대용량 데이터 토드(Toad)를 이용해서 넣기 (0) | 2012.12.11 |
|---|---|
| MSSQL 2000 기본 통신 포트 1433 이 막혀 접속장애 에러가 나는 경우 (0) | 2012.11.26 |
| ER WIN 으로 테이블 스키마를 엑셀로 출력하기 (0) | 2012.11.12 |
| MSSQL 2000 프로그램 설치시 Command line option sysntax error. 에러 발생 (2) | 2012.11.07 |
| Oracle 에서 테이블과 리소스의 존재 여부를 알아보는 쿼리 (0) | 2012.11.02 |
| Oracle XDB 리스너 포트 바꾸기 (0) | 2012.10.31 |
| Window 7 에 oracle 11g 설치와 사용자 계정 만들기 (2) (7) | 2012.10.14 |
| Window 7 에 oracle 11g 설치와 사용자 계정 만들기 (1) (4) | 2012.10.14 |

