select-options : s_gsber for anlz-gsber. 로 선언했을 경우
단순히 low, high에만 값을 넣는게 아니라 range나 single값들을 multiple로 입력할 경우
native sql에서는 어떻게 사용하는지 알고싶습니다.
low/high값만 입력하거나 single값들만 입력할 경우에는
in이나 between 을 사용하면 되는데...
위의 경우는 어떻게 사용하면 되는지 아시는 분 답변 부탁드립니다.
댓글 5
-
사탕수수
2008.06.17 03:13
-
피크민
2008.06.17 03:16
멀티플로 입력했을때도 IN 사용해서 했었습니다. 오른쪽 네모모양(이름이 ?) 그거 클릭해서 값여러개 넣는거 말씀하시는거같은데..
-
SkyDream
2008.06.17 17:14
제가 질문을 헷갈리게 올렸나봐요.^^
질문의 요지는
open sql에서 where절에 "gsber in s_gsber" 로 사용할 경우 native sql문법으로 어떻게 컨버젼이 되느냐가 아니라,
exec sql.
~
endexec.
를 사용해서 native sql로 코딩을 해야 할때
어떻게 해 주어야 하는가 입니다.
-
모모
2008.06.17 18:14
저도 유사한 경험이 있습니다.
sign, options, low, high를 parsing해서 where 절에 해당 필드의 선택조건을 만들었습니다.
Native sql을 마냥 길게 만들 수도 없고해서 , 패턴을 분석해서 각 상황에 맞는 sql 구문도 좀 나누고요.
그뒤로 유사한 경우에는, 고객을 설득하거나 다른 대안을 찾아 multiple 입력 안받도록 하고 있습니다.... ^^;;
그나마 대부분 회사에서 사업영역의 수는 얼마 안되니.... 화이팅입니다...
-
SkyDream
2008.06.18 00:58
저도 고객을 설득해 봐야겠네요.
답변 주신분들 감사드려요.^^
range나 multiple로 입력할경우 주로 'IN'옵션을 사용하겠죠.. 제가 알기로는 이럴경우 데이터베이스를 조회를 하기 위해 Open SQL에서
Native SQL로 컨버전 될때,'OR' 조건으로 바뀌어서 DB조회를 해오는 것으로 알고있습니다.
where matnr in se_matnr( 값 3개를 가지고있다면) ==> where matnr eq '첫번째값' or matnr eq '두번째값' or matnr eq' 세번째값'.
요런식으로 Native SQL로 바뀌어 DB조회를 하게 되죠..