Q&A

  • StoredProcedure에 Table명을 변수로 대입하려면
안녕하세요..

질문 하나 하고자 합니다



스토어프로시저에서 테이블 이름을 변수로 대입하여 select 하고자 할때 어케하는지요?..



Create proc xx

( @tablename varchar(30))

as

declare @tname varchar(30)

select @tname=@tablename ==>요거 이렇게 하는게 맞나요?



begin

select * from @tname ==> 요것도 맞나요?

end

...



대충 위와 같을때 테이블 이름을 파라메타로 sp에 넘겨주고

넘어온 table 이름을 변수로 사용하여 select 를 하고자 할때

위와 같은 방법으로 하니 되질 않는군요..

역시 무식하면 손발이 고생한다는것은 고금의 진리 인가 봅니다

읽어주셔서 감사합니다..

아시는분 꼭좀 답변 부탁합니다



1  COMMENTS
  • Profile
    김광섭 2001.03.24 20:09
    초보 wrote:

    > 안녕하세요..

    > 질문 하나 하고자 합니다

    >

    > 스토어프로시저에서 테이블 이름을 변수로 대입하여 select 하고자 할때 어케하는지요?..

    >

    > Create proc xx

    > ( @tablename varchar(30))

    > as

    > declare @tname varchar(30)

    > select @tname=@tablename ==>요거 이렇게 하는게 맞나요?

    >

    > begin

    > select * from @tname ==> 요것도 맞나요?

    > end

    > ...

    >

    > 대충 위와 같을때 테이블 이름을 파라메타로 sp에 넘겨주고

    > 넘어온 table 이름을 변수로 사용하여 select 를 하고자 할때

    > 위와 같은 방법으로 하니 되질 않는군요..

    > 역시 무식하면 손발이 고생한다는것은 고금의 진리 인가 봅니다

    > 읽어주셔서 감사합니다..

    > 아시는분 꼭좀 답변 부탁합니다

    >



    위에께 안된다면 ...



    Create proc xx

    ( @tablename varchar(30))

    as

    declare

    @tname varchar(30),

    @str char(100)

    select @tname=@tablename

    -- 또는 set @tname = @tablename

    set @str = 'select * from '+ @tname

    exec (@str)



    이렇게 함 해보세요. 잘 될런지 몰겠네요 ^^