2017-01-18 1 views
0

변수를 사용하여 Microsoft SQL Server 2014에서 임시 테이블을 만들려고합니다.Microsoft SQL Server에서 변수가있는 임시 테이블 만들기

DECLARE @TableName VARCHAR(50) 
SET @TableName = 'MyShema.MyTable' 

EXEC('SELECT * INTO #temp FROM ' + @TableName) 
SELECT * FROM #temp 

그러나, 마지막 줄은 SELECT * FROM #temp 내가 그것을 고칠 수있는 방법 Invalid object name '#temp. 사람이 말해 주시겠습니까 준다? 고맙습니다!

+0

무엇을하려고합니까? –

+0

bulkinsert의 소스 파일 이름과 대상 테이블을 포함하는 매핑 테이블이 있습니다. bulkinsert하기 전에 임시 테이블에서 일부 데이터 정리가 필요합니다. 그래서이 매핑 목록을 반복하여'@ TableName'을 설정하고 하나씩 임시 테이블을 생성하려고합니다. –

답변

1
DECLARE @TableName1 VARCHAR(50) 

SET @TableName1 = 'dbo.encounter' 

EXEC('SELECT * INTO ##temp FROM ' + @TableName1) 

SELECT * FROM ##temp 
0
DECLARE @sql NVARCHAR(MAX); 

    SET @sql = N'SELECT * INTO #temp FROM from MyShema.MyTable ; SELECT * FROM #tmpA'; 

EXEC sp_executesql @sql 
+0

이것은 잘못된 에러'잘못된 객체 이름 '# tmp''를 주겠다. 태스크를 수행하기 위해 변수'@ TableName'을 어떻게 사용할 수 있겠습니까? –

+0

문자열에 오타가 있습니다. #temp를 선택하면 테이블 #tmpA를 볼 수 없습니다. – DVT

+0

답변에 대해 더 자세히 설명해 주시기 바랍니다. 코드 전용 답변은 이해하기 어렵습니다. 그것은 당신이 당신의 포스트에있는 정보를 더 추가 할 수있는 경우에 둘 다 구경꾼 및 미래 독자를 도울 것이다. – RBT

관련 문제