Q&A

  • 오라클 프로시져에 파라미터 전달방법
오라클 프로시져에 전달해야할 파라미터가 in 다음에 오는 코드입니다.
다음은 프로시져의 쿼리문인데요...

(partable in varchar2) is

select *
from table
where tb_name in (partable)

이런경우 parTable이라는 파라미터에 'a','x','g'  값을 넣어주면 될것 같은데 안되네요..
이런경우 partable 파라미터에 어떤 형식으로 전달해야 하나요?
2  COMMENTS
  • Profile
    Crazy™ 2006.05.12 00:56
    쿼리에 in 문을 쓰실려고 하는거 같은데 결론은 안됩니다.
    처음 in에 받는 파라미터는 하나의 변수로 생각하셔야지 a, x, g가 합쳐진 것으로 생각하시면 안됩니다.
    즉 where 절 partable은 a, x, g중 하나만 받으시거나, 변수를 더 추가해서 일일히 전달하셔야 합니다.

    쿼리문이 아주 길지 않고 꼭 in문등을 처리해서 쓰셔야 겠다면
    partale in 변수에 select~where 의 쿼리문을 보낸 후 실행하셔도 됩니다.
    즉 쿼리문을 문자열 변수로 받아서 실행하는거죠..

  • Profile
    안기성 2006.06.21 05:27

    LIKE를 사용해서 변칙적으로 가능할꺼 같습니다.
    select *
    from table
    where partable like '%'||tb_name||'%';

    물론 in하고 같지는 않겠죠...