2014-07-10 2 views
0

Comment verrouiller une table temporaire globale dans une procédure stockée qui est créée et remplie par une instruction SELECT INTO? Par exemple:Verrouillage de table temporaire global SQL Server

SELECT * 
INTO ##TempEmployee 
FROM Employee 

Cette procédure stockée est exécutée pour générer des rapports et il est là dans chaque base de données clients (architecture multi-locataires utilisant différents DB par client). Je ne souhaite pas que les données de cette table temporaire globale soient partagées entre les clients lorsque le rapport est généré simultanément. Je n'ai pas d'autre choix que d'utiliser la table temporaire globale car je l'utilise pour générer des colonnes à la volée en utilisant PIVOT.

+1

Et pourquoi est-ce une raison pour une table temporaire globale? – Lamak

+1

Je suis aussi confus pourquoi cela nécessite une table temporaire globale. –

Répondre

1

Pourquoi ne pas inclure à l'intérieur d'un transaction block comme

begin transaction 
SELECT * 
INTO ##TempEmployee 
FROM Employee 
0

Essayez ce,

WorkDummySQL

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

Tempdb

select * dans ## ta de WorkDummySQL.dbo.rr

Questions connexes