다이나믹 쿼리에서.. 0 3 2,283

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로 들어 온다고 하였는데 데이타값이 들어오는 형태를 그대로 알려주세요. 어쩌면 이부분은 변수로 처리하기 곤란하고 방법능 바꾸어야 할것 같습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입