【发布时间】:2011-03-11 08:15:51
【问题描述】:
下面是我的示例存储过程。当我通过传递 DATE 执行存储过程时,它显示以下错误。
无效的对象名称“TEMPP”
-- 存储过程
ALTER PROCEDURE [dbo].[mystoredprocedure]
@abc DATETIME //coming fron front-end
AS
BEGIN
SET NOCOUNT ON;
WITH TEMPP AS
(
SELECT DISTINCT(ID), NAME
FROM EMPLOYEE WHERE EMPDATE > @abc
)
select DP.NAME INTO xy from DEPARTMENT DP,TEMPP TE
where DP.ID=TE.ID ;
SELECT * FROM xy;
DROP xy;
END
错在哪里?
问候,
jn
【问题讨论】:
-
我不这么认为 - cte 只使用一次。
-
顺便说一句。如果您将选择(使用@gbn 建议)重写为加入,错误是否仍然存在?
-
如果这是实际代码?还是您在此处发布的版本?
-
您是否在程序之外尝试了 SSMS 中的脚本?它似乎不包含可能产生该错误的任何东西。在此处发布脚本时,您可能以某种方式错过了有问题的部分。然后尝试将它移回您的代码,如果不发现它是什么,也许它有助于消除错误。
标签: sql sql-server-2005