다이나믹 쿼리에서.. 3 1,158

by 김홍관 [2006.10.24 15:36:17]


다이나믹 쿼리에서..

 

<생략>

v_DynamicSQL := v_DynamicSQL||'  from TITEM where item_code in (';
v_DynamicSQL := v_DynamicSQL||' :v_item_code_all';
v_DynamicSQL := v_DynamicSQL||')';

<생략>

 

위와 같이 v_item_code_all을 in 구문에 넣습니다.

 

 v_item_code_all := '101010';  이렇게 해서 실행하면 정상 작동하여 1건이 나옵니다.

 

v_item_code_all  이 하나가 아니라 아래와 같이 여러개 일경우

 

v_item_code_all := '101010,121212';    이나,

v_item_code_all := '''101010'',''121212'''; 

 

이렇게 세팅해서 넣으면 작동은 하는데 건수가 없다고 나옵니다.

 

그대로 출력된 SQL을 복사해서 select해 보면 나오는데도요..

 

IN 부분에 어떻게 넣어야 하는지 고수님들의 도움을 기다립니다.
 

 

by 강정식 [2006.10.24 00:00:00]
v_item_code_all 값이 웹 화면에서 체크박스의
값을 저장하는 변수인가요? 아니면 여러값을
가지고 있는 변수인가요?

다시말해, 저장된 값이 소수인지 다수인지좀 알려주시면
그에 맞게 알려드리겠습니다.

by 김홍관 [2006.10.24 00:00:00]
웹 환경에서 개발 하는건 아니고 c/s 환경입니다.
v_item_code_all 은 varchar2(100)으로 잡혀 있는 단순 변수인데요.. 아규로 들어오는 값들을 IN 구문에 넣기위해 취합하는 변수입니다.

by 백해현 [2006.10.24 00:00:00]
v_item_code_all 에 데이타 들어오는 유형을 알려주세요 parameter로 들어 온다고 하였는데 데이타값이 들어오는 형태를 그대로 알려주세요. 어쩌면 이부분은 변수로 처리하기 곤란하고 방법능 바꾸어야 할것 같습니다.