Kev*_*Kev 8 .net t-sql sql-server stored-procedures
我有一个存储过程,我在数据集中使用它来生成ReportViewer中的报表.
此SP使用临时表来存储中间值,以便可以在SP末尾的计算中使用这些值.
在SP结束时,临时表都被彻底删除.
我可以在SSMS中执行SP而没有任何问题,它返回我期望的数据.
但是,当使用TableAdapter配置向导在VS2012中更新我的xsd时,它会给出错误Invalid object name '#Held'(其中#Held是其中一个临时表的名称).
这是怎么回事?
Bat*_*mer 22
这里所说的答案完美无缺,原因不明.
只需将下面的代码放在SP的AS部分之后的存储过程之后.
IF 1=0 BEGIN
SET FMTONLY OFF
END
Run Code Online (Sandbox Code Playgroud)
#temp 表和表适配器存在一些已知问题。
有些人通过显式选择列名称来解决这个问题,例如:
SELECT column1, column2, ... from #temptable而不是SELECT *(如果你这样做的话)
您还可以尝试使用table变量而不是临时表。
| 归档时间: |
|
| 查看次数: |
5154 次 |
| 最近记录: |