dynamic sql에 대해... 0 3 1,857

by 김홍관 [2006.10.24 13:47:00]


고수님들의 도움으로 프로시져에서 dynamic sql을 하나씩 해나가고 있습니다.

 

그런데...

 

dynamic sql로 구성하는 중 쿼리에 IN 을 사용하는 부분이 있습니다.

 

dynamic sql 에서 하나는 v_input := '101010';  이렇게 해서 실행하면 정상 작동합니다.

 

이상한건 v_input := '''101010'''  이것은 정상 작동은 하는데 건수가 엇다고 나오네요.

 

실제로 출력되는건 '101010' 인데 이게 쿼리에 들어가는게 맞는것 같은데....

 

그런데.   

 

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

v_input := '''101010'',''121212'''; 

 

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

 

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

 

저 IN 을 or로 바꿀수도 없는 이유가 아규로 몇개가 들어올지 모르기때문입니다.

 

물론 최대 5개이지만요...

 

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

by ocp한달 [2006.10.24 00:00:00]
SQL> select '''101010'',''121212''' from dual

'''101010'',''121
-----------------
'101010','121212'

SQL> select '''101010,121212''' from dual

'''101010,12121
---------------
'101010,121212'

by 김홍관 [2006.10.24 00:00:00]
ocp한달 님 저것이 무엇인지요? 프로시져 경험이 부족하여 무슨 의미인지 알수가 없습니다.

by ocp한달 [2006.10.24 00:00:00]
sql에서 single quote가 어떻게 작동하는지 예를 보인것입니다.
궁금한게 이것이 아니었던가요? 잠깐..다시 읽어보니 제가 맥을 잘못짚었네요.
궁금한게 정확히 무엇인가요? 가능하면 pl/sql쿼리도 같이 올려주시고 원하는 결과가 무엇인지도 말씀하시면 다른 분들이 도움을 주실 것입니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입