programing

Excel에서 SQL 실행이 임시 테이블을 사용할 수 없습니다.

muds 2023. 7. 15. 10:39
반응형

Excel에서 SQL 실행이 임시 테이블을 사용할 수 없습니다.

Excel에서 SQL Server로의 데이터 연결을 만들고 많은 SQL 쿼리를 성공적으로 실행할 수 있었습니다.하지만 임시 테이블이 포함되어 있으면 TSQL이 작동하지 않습니다.예:

select * into #t from compass3.dbo.freq
select * from #t where freq_id>2

(이 경우 #t를 사용할 필요가 없습니다.가장 간단한 예를 들어 보겠습니다.)이 작업은 SSMS에서 정상적으로 작동하지만 Excel을 통해 실행하면 "연결 'audbicube'를 새로 고칠 수 없습니다."라는 오류 메시지가 표시됩니다.'ionQuery1' 테이블이 존재하지 않을 수 있습니다."

몇몇 다른 SO 게시물에서 사람들은 추가할 것을 제안했습니다.set nocount on하지만 이 경우에는 아무런 차이가 없었습니다.

저는 위의 답변에 추가하고 싶었습니다 - 그냥 사용하는 것.SET NOCOUNT ON쿼리의 맨 위에 정기적인 임시 테이블이 있습니다.SELECT name INTO #Names FROM Employee작동해야 합니다.

테이블 변수는 여기에 필요하지 않습니다.

추가할 수도 있습니다.SET ANSI_WARNINGS OFF"NULL 값이 집계에 의해 제거됨"과 같은 메시지를 방지합니다.

다음 항목이 작동하는 것으로 나타납니다.

set nocount on
declare @t table(fid int)  -- I'm sure I could add the rest of the columns if I wanted to
insert @t select freq_id from compass3.dbo.freq
select * from @t where fid>2

그래서 내가 돌아서는 한nocount임시 테이블이 아닌 테이블 변수를 사용하여 필요한 작업을 수행할 수 있습니다.

언급URL : https://stackoverflow.com/questions/21417922/sql-run-from-excel-cannot-use-a-temporary-table

반응형