用动态声明的表名编写一个表驱动的查询?

问题描述

我一直在运行报告并为此报告创建表。现在,其他用户也正在运行此报告。因此,我需要用户能够同时运行存储过程而不必担心覆盖表。我尝试使用简单的临时表,但是我需要临时表来完成两个“功能”。一个动态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 (将#修改为@)