2009-08-22 3 views
0
declare @var sysname 
declare @sql varchar(5000) 
set @var = 'Table_name' 

set @sql = 'select * from ' + @var 
exec (@sql) 

위의 스크립트를 사용하고 싶지 않습니다.SQL Server 2005의 select statment에서 table의 변수 inplace 사용

아래 언급 된 스크립트를 사용하여 작동하지 않습니다.

declare @var sysname 
set @var = 'Table_name' 

select * from @var 

동적 쿼리를 사용하는 것 외에 다른 방법이 있습니까? 나는 두 번째 것과 비슷한 것을 사용하고 싶다.

답변

2

나는 그것이 가능하지 않다고 생각한다. 테이블의 이름이 동적으로 결정되면 SELECT.에서이를 사용하는 유일한 f}은 EXEC를 통한 것입니다.

0

이렇게하면 안됩니다. 이 answer to 비슷한 질문은 올바른 방법을 설명합니다.