안녕하세요..
질문 하나 하고자 합니다
스토어프로시저에서 테이블 이름을 변수로 대입하여 select 하고자 할때 어케하는지요?..
Create proc xx
( @tablename varchar(30))
as
declare @tname varchar(30)
select @tname=@tablename ==>요거 이렇게 하는게 맞나요?
begin
select * from @tname ==> 요것도 맞나요?
end
...
대충 위와 같을때 테이블 이름을 파라메타로 sp에 넘겨주고
넘어온 table 이름을 변수로 사용하여 select 를 하고자 할때
위와 같은 방법으로 하니 되질 않는군요..
역시 무식하면 손발이 고생한다는것은 고금의 진리 인가 봅니다
읽어주셔서 감사합니다..
아시는분 꼭좀 답변 부탁합니다
> 안녕하세요..
> 질문 하나 하고자 합니다
>
> 스토어프로시저에서 테이블 이름을 변수로 대입하여 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)
이렇게 함 해보세요. 잘 될런지 몰겠네요 ^^