“找不到存储过程<procedure name =”“>”

时间:2016-07-07 20:19:05

标签: sql sql-server stored-procedures

我创建了一个简单的过程,它将为我提供包含类似关键字的表条目。

步骤:

USE ResourceRequest
GO

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

我可以执行该程序,但似乎有问题 “[dbo]。[resource_lookup]”因为无法找到?我目前已登录测试服务器并可以在“存储过程”文件夹中查看该过程?是什么导致了这个问题?

    USE [ResourceRequest]
GO

DECLARE @return_value int

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

SELECT  'Return Value' = @return_value

GO

1 个答案:

答案 0 :(得分:5)

您未在create中指定显式架构,因此它会在您的默认架构中创建它,看起来它不是dbo。

使用

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

确保根据需要创建它。

但听起来这是一个智能警告,而不是运行时错误。

所以使用 Ctrl + Shift + R refresh the intellisense cache,这样就可以获取新添加的对象。

或者,如果这不起作用(某些SSMS插件劫持了这个组合),请通过菜单选项Edit -> IntelliSense -> Refresh Local Cache

进行操作

Menu screenshot