SELECT *
INTO coresponding fiel
FROM bseg
WHERE bukrs = p_bukrs
AND gjahr = p_gjahr
AND belnr IN s_belnr.
위 문장중에 IN의 의미는 무엇이고 = 와 IN의 차이는 어떻게되나요?
답변을 기다리며...
댓글 6
-
아밥의신
2008.03.13 02:10
-
쭈삣
2008.03.13 02:32
open sql에서는 selection-options나 parameter로 받은 값을 in으로 많이 연결합니다.
예를들어 s_val이라는 selection-options 경우 값이 aa ~ bb, cc일경우
open sql은 belnr in s_val 인데 native sql이면 belnr between 'aa' and 'bb' or belnr = 'cc'와 같고
여러 복합 조건을 표현하려고하면 복잡해집니다.(사실 표현할 길이 없죠)
-
nogo
2008.03.13 02:44
저는 단순하게..
selection-options 이면 in
parameter 이면 = 이라고생각하고 사용합니다.
-
로미오
2008.03.13 05:40
잘 알겠습니다. 답변 감사합니다.^^
-
자드러브
2008.03.13 20:08
OPEN-SQL
selection-options 이면 보통 in 으로 비교해서 RANGE 범위에 설정된 값을 비교하는거구요
selection-options 에서도 = 로 비교하시려면 s_belnr-low 이렇게 하시면 parameter처럼 단일값으로 비교가 가능합니다.
(selection-options에서 NO-EXTENSION 이런 옵션이 있어야합니다.)
parameter 로 받을땐 윗분처럼 비교한다고 생각하시면 됩니다.
-
용사마
2008.03.14 22:31
= 는 EQ 이구요..
IN 은 RANGE 변수에 담긴..즉 RANGE에 전표번호를 여러게 넣을수 있잖아요.. 10개든 20개든..
변수안에 들어있는 값을 다 가져온다는 것입니다.
WHERE 절 이후에는 이것말고도 여러가지 조건이 있습니다.. HELP를 찿아보세염...^^
in 은 select-options 나 ranges 변수와 같은 범위값을 where 조건에서 넣을때 사용합니다...