2017-10-31 11 views
0

오픈 쿼리와 임시 테이블을 사용하여 테이블을 업데이트하려고합니다. 쿼리를 실행할 때마다 오류가 발생합니다. The multi-part identifier "#tempTable.PERMITEE" could not be bound. The multi-part identifier "#tempTable.BILLTOPERSON" could not be bound.임시 테이블로 열기 쿼리

내가 잘못하고있는 것이 확실하지 않습니다. 모든 것이 올바른 것으로 보입니다. 도움말은 대단히 감사하겠습니다.

당신에게

감사하는 것은 여기 내 쿼리

BEGIN TRANSACTION 
DROP TABLE #tempTable; 
SELECT [EN_ID], [PERMITEE], [BILLTOPERSON] INTO #tempTable FROM LakeEncroachments 
SELECT * FROM #tempTable 
UPDATE OPENQUERY([GIS-DB1], 'SELECT [EN_ID], [PERMITEE], [BILLTOPERSON] FROM [NaturalResources].[sde].[LAKEMANAGEMENT_LAKEENCROACHMENTS]') 
SET [PERMITEE] = #tempTable.[PERMITEE], [BILLTOPERSON] = #tempTable.[BILLTOPERSON] 
WHERE [EN_ID] IN (SELECT [EN_ID] FROM #tempTable) 
+0

당신이 게시 대답 (들)을 확인하시기 바랍니다 수 있습니다

업데이트 쿼리는 무언가 같이해야 하는가? 감사 :) – Chaos0

답변

2

가 OpenQuery를하고 임시 테이블 사이에 조인 누락 된 것입니다.

UPDATE oq 
SET oq.[PERMITEE] = tt.[PERMITEE], 
    oq.[BILLTOPERSON] = tt.[BILLTOPERSON] 
FROM OPENQUERY([GIS-DB1], 'SELECT [EN_ID], [PERMITEE], [BILLTOPERSON] FROM [NaturalResources].[sde].[LAKEMANAGEMENT_LAKEENCROACHMENTS]') AS oq 
JOIN #tempTable AS tt ON oq.[EN_ID] = tt.[EN_ID]