Oracle을 사용한 Proc에서 다음과 같은 SQL문을 사용했었습니다..
SELECT *
FROM table_name
WHERE aa_col = :lc_aa AND
bb_col = :lc_bb AND
((:lc_cc > 0 AND cc_col LIKE :lc_cc) OR :lc_cc = 0) AND
((:lc_dd > 0 AND dd_col LIKE :lc_dd) OR :lc_dd = 0) AND
((:lc_ee > 0 AND ee_col LIKE :lc_ee) OR :lc_ee = 0) ;
-----------------------------------------------------------------
이것을 SYBASE를 이용한 ESQLC로 옮길려고 합니다.
그런데..
" :lc_cc > 0 "과 같이 필드가 아닌 변수에 조건을 건 부분이 컴파일시 에러가 나더라구요..
Proc에서 이런식으로 SQL문을 쓴건 조건문(if)에 의해 반복해서 써야하는 번거러움을 없애기위해서 였습니다..
동적SQL문을 쓸려고도 했었습니다만..
그건 또 속도에 문제가 있다고해서..위와 같이 쓴건데..
어찌해야 할지 모르겠습니다..
위 SQL문을 ESQLC의 소스에서 조건문(if)을 쓰지않고 사용할수 있는 방법이 없을까요?
|