问题描述
我一直在运行报告并为此报告创建表。现在,其他用户也正在运行此报告。因此,我需要用户能够同时运行存储过程而不必担心覆盖表。我尝试使用简单的临时表,但是我需要临时表来完成两个“功能”。一个动态sql语句创建一个表,一个动态sql语句由表驱动。
我的主要问题是我希望表驱动的代码段能够看到全局临时表变量,但事实并非如此。在仍使用临时表的同时可以解决此问题吗?有没有一种方法可以同时运行两个动态sql语句,以便其他类型的临时表可以工作?
任何朝着正确方向的建议都是有帮助的。谢谢。
DECLARE @TmpGlobalTable varchar(255) = 'SomeText_' + convert(varchar(36),NEWID())
SELECT @sql = @sql +'
SELECT IDENTITY(INT) as idcol,date,Desc As [Description]
INTO [##' + @TmpGlobalTable + ']
FROM dbo.appendix
WHERE RecordStatus = 1
and casestatement from user input
'
print(@sql)
exec(@sql)
Declare @sql1 varchar(max) = ''
SELECT @sql1 = @sql1 +'
insert into dbo.'+@table+'
select ''1'','''+date+''' as Sequence,Description as Description_color,buyer,seller,price,option
from '+@ClientTable+'
where isnull('+Seq+',9999) <= cutoffvalue
group by description,option
'
from
[##' + @TmpGlobalTable + ']
print(@sql1)
exec(@sql1)
EXEC ('DROP TABLE [##' + @TmpGlobalTable + ']')
PRINT 'Dropped Table ' + @TmpGlobalTable
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)