无效的对象名称SQL Server 2008 R2 - 存储过程

时间:2012-02-23 19:19:04

标签: sql-server-2008

我正在尝试使用命令

更改现有存储过程

ALTER'name_of_stored“procedure'

然而,名称以红色突出显示,表示它是无效对象。我能够成功执行该命令但是我想知道为什么SQL Server 2008 R2会将其记录为错误。enter image description here

6 个答案:

答案 0 :(得分:79)

这是SSMS,而不是SQL Server。如果它是数据库引擎的错误,你就会知道它(它不会成功执行命令)。


解决方案

您需要刷新智能感知缓存(Ctrl + Shift + R)。或者你可以去编辑 - >智能感知 - >刷新本地缓存。

答案 1 :(得分:6)

使用CREATE PROCEDURE创建存储过程,而不是ALTER PROCEDURE

答案 2 :(得分:5)

智能感知不会像创建新对象那样快速刷新。您需要刷新缓存(Ctrl + Shift + R)。或者,也许,不要依赖Intellisense,只有在执行失败时才会担心。

答案 3 :(得分:0)

我有同样的问题,问题是我从存储过程中有一个select语句,其名称与表名相似,所以不是

  select * from Table_Test

我在存储过程中写了这个

  select * from Proc_Test --selecting from Stored proc, yikes!!

也许这有帮助

答案 4 :(得分:0)

我遇到了同样的问题,并看到了大量可能的答案,其中一些非常具有异国情调。不幸的是,在找到适合我的方法之前,我没有看到这个页面。我想我会添加这个,即使我相信它与刷新Intellisense一样。我知道我已经完成了我的工作,因为尽管存在错误,存储过程仍能正常工作,所以我最终认为它不是真正的'错误。

我退出SSMS并重新输入,并且不再出现无效对象名称错误。我认为也刷新了Intellisense。

答案 5 :(得分:0)

就我在SQL Server 2014 Express上的情况而言,存储过程名称值显示此错误消息

  

无效的对象名称“SP_NAME”

即使存储过程已经创建并成功执行。但在启用IntelliSense后,错误被删除,每个存储过程查询都正常工作。

enter image description here

相关问题