• Programming by 白影를 방문하신 여러분을 환영합니다 :)

spring/mybatis에서 sql 사용시 주의점

ALTER TABLE 명령어 사용시 변수를 있는 그대로 사용해야 하는 경우가 있다. (그 외에도 있을 수 있다.) 이러한 경우 변수를 아래와 같이 사용하여야 한다. (필자는 이를 알지 못하여 무려 하루를 통째로 날렸다…)
 
#parameter1#은 실제 쿼리에서 'parameter1'로 인식을 한다.
일반적인 문자열 비교나 입력시 사용을 한다.
 
ex) SELECT COL01, COL02
     FROM TABLE_NAME
     WHERE COL03 = #COL03_IF#
 
하지만 alter table 사용시 변수가 따옴표가 들어간 상태로 쿼리 작성시 오류가 발생한다.
이를 보완하기 위하여 변수를 그대로 사용하려면 #parameter1#대신 $parameter1$로 사용해야한다.
 
ex) ALTER TABLE $TABLE NAME$
    ADD COLUMN $COLUMN NAME$ $COLUMN TYPE_LENGTH$
 
이때 주의점이 하나 더 있다 실제로 컬럼의 타입을 설정할때 varchar(10) 이런형태로 입력을 하도록 되어있다.
이에 미리 변수를 이용하여 문자열을 작성하여 넘겨주는 것이 편하다. 


'Programming > SQL' 카테고리의 다른 글

CLOB 구문 검색방법  (0) 2015.02.19
Table 권한 주기  (0) 2015.01.08
[Oracle] 숫자관련 함수  (0) 2013.11.27
[SQL] Data Type (Char)  (0) 2013.04.12
[Oracle] Table Column의 추가 / 변경 / 삭제  (0) 2013.04.09