2014-07-10 10 views
0

SELECT INTO 문으로 생성되고 채워지는 저장 프로 시저에서 전역 임시 테이블을 잠 그려면 어떻게합니까? 예를 들어 :SQL Server 글로벌 임시 테이블 잠금

SELECT * 
INTO ##TempEmployee 
FROM Employee 

이 저장 프로시 저는 보고서를 생성하는 실행되고, 그것은 (클라이언트마다 서로 다른 DB를 사용하여 멀티 테넌트 (multi-tenant) 아키텍처) 모든 클라이언트 데이터베이스에있다. 보고서가 동시에 생성 될 때이 글로벌 임시 테이블의 데이터가 클라이언트간에 공유되기를 원하지 않습니다. 필자는 PIVOT을 사용하여 즉석에서 열을 생성하는 데 사용하기 때문에 글로벌 임시 테이블을 사용하는 대신 선택의 여지가 없습니다.

begin transaction 
SELECT * 
INTO ##TempEmployee 
FROM Employee 
+1

그리고 이것이 글로벌 임시 테이블의 이유는 무엇입니까? – Lamak

+1

왜 글로벌 임시 테이블이 필요한지 혼란 스럽습니다. –

답변

1

,

WorkDummySQL

create table rr(id integer,name varchar(20)) 
    insert into rr values(1,'aa') 
    select * from rr 

Tempdb를

WorkDummySQL.dbo.rr에서 * * ​​## ta를 선택하십시오.

0

이를 시도해보십시오 transaction block처럼 내부를 포함하지 왜