如何在存储过程中锁定全局临时表,该表由SELECT INTO
语句创建和填充?例如:
SELECT *
INTO ##TempEmployee
FROM Employee
执行此存储过程以生成报告,并在每个客户端数据库(每个客户端使用不同的DB的多租户架构)中生成报告。在同时生成报告时,我不希望在客户端之间共享此全局临时表中的数据。我没有选择,只能使用全局临时表,因为我使用它来使用PIVOT动态生成列。
答案 0 :(得分:1)
为什么不将它包含在transaction block
之内
begin transaction
SELECT *
INTO ##TempEmployee
FROM Employee
答案 1 :(得分:0)
试试这个,
<强> WorkDummySQL 强>
create table rr(id integer,name varchar(20))
insert into rr values(1,'aa')
select * from rr
<强> Tempdb的强>
从WorkDummySQL.dbo.rr
中选择*到## ta