2016-07-07 106 views
1

我创建了一个简单的过程,它会给我包含类似关键字的表项。“找不到存储过程<过程名称>”

程序:“[DBO] [resource_lookup]”

USE ResourceRequest 
GO 

CREATE PROCEDURE resource_lookup @ProjectName nvarchar(100)=null 
AS 
SELECT * 
FROM [dbo].Resource_Request 
WHERE [Project Name] LIKE @ProjectName + '%' 
GO 

我可以执行的程序,但似乎与 一些错误,因为它找不到?我目前登录到测试服务器,并可以在“存储过程”文件夹中看到该过程?什么导致了这个问题?

USE [ResourceRequest] 
GO 

DECLARE @return_value int 

EXEC @return_value = [dbo].[resource_lookup] 
     @ProjectName = N'mutually' 

SELECT 'Return Value' = @return_value 

GO 

回答

2

不指定在create明确的架构,以便它看起来像它不是DBO默认架构创建它。

使用

CREATE PROCEDURE dbo.resource_lookup @ProjectName nvarchar(100)=null 
AS 
/* ... */ 

为了确保根据需要创建它。


但它听起来像这是一个intellisense警告,而不是运行时错误。

所以使用按Ctrl ++[Rrefresh the intellisense cache所以拿起你的新添加的对象。

或者,如果不工作(SSMS一些加载项劫持这个组合)不必通过菜单选项Edit -> IntelliSense -> Refresh Local Cache

Menu screenshot

+0

我不断收到同样的错误,尽管这种变化。我重命名了程序,但红线不断回来。 :( – thatdude

+0

@thatdude如果您正在讨论intellisense错误而不是运行时错误,您只需刷新缓存 –

+1

红线将一直保留,直到您刷新智能感知缓存( - -R)。实际上运行它,并得到那个错误,然后它是其他东西虽然 –