【发布时间】:2018-04-29 09:22:51
【问题描述】:
我正在使用 RDL 文件和存储过程编写报告。 RDL 文件名为 test.rdl,我有四 (4) 个存储过程连接到此 test.rdl 文件。所以这个文件将有四个数据集。
报告文件名:
test.rdl
存储过程名称:
- sp_test_1
- sp_test_2
- sp_test_3
- sp_test_4
每个存储过程都有同名的临时表 (#temp)。
create table #temp(
ID int,
Name varchar(max),
Location varchar(max)
)
insert into #temp
select * from anothertable where date between '20171001' and '20171031'
一些额外的查询以获得所需的结果,然后最终删除临时表。
select . . . . . . . . . .
drop table #temp
所以所有四个存储过程都有使用一个名称(#temp)的临时表。
所以我的问题是,当运行 RDL 测试文件并且同时调用所有四 (4) 个存储过程时,这是否可以正常工作? 我关心的是#temp 表,所有四个存储过程在运行结束时都有删除表#temp。这是否会影响运行时临时表的填充,因为其中一个存储过程可能会在另一个正在运行时以 drop table 完成,从而导致查询取消或以不完整的结果完成?
请解释一下。我希望这是一个有效的问题。
【问题讨论】:
-
所有四个存储过程在运行结束时都有删除表#temp,所以你在每个过程中创建
#temp然后删除它?
标签: sql-server tsql stored-procedures reporting-services sql-server-2012