0

我一直在运行报告并为此报告创建表格。现在其他用户也在运行这个报告。所以我需要用户能够同时运行存储过程而不用担心覆盖表。我尝试使用一个简单的临时表,但我需要临时表来完成两个“功能”。一个创建表的动态 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 , buyer, seller, price, option
     '
     from 
     [##' + @TmpGlobalTable + '] 
                
             

print(@sql1) 
exec(@sql1) 

EXEC ('DROP TABLE [##' + @TmpGlobalTable + ']')
PRINT 'Dropped Table ' + @TmpGlobalTable 
4

0 回答 0