我有一个存储过程,我在数据集中使用它来在ReportViewer中生成报告。
此SP使用临时表来存储中间值,以便可以在SP末尾的计算中使用这些值。
临时表在SP的末尾都被彻底删除。
我可以在SSMS中执行SP而没有任何问题,它会返回我期望的数据。
但是,当使用TableAdapter配置向导在VS2012中更新我的xsd时,它会给出错误Invalid object name '#Held'
(其中#Held是其中一个临时表的名称)。
发生了什么?
答案 0 :(得分:20)
答案 1 :(得分:0)
#temp表和表适配器存在一些已知问题。
有些人通过明确选择列名来解决这个问题,例如:
SELECT column1, column2, ... from #temptable
而不是SELECT *
(如果你这样做的话)
您也可以尝试使用table
变量而不是临时表。