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