【发布时间】:2016-09-08 06:28:49
【问题描述】:
我创建了一个存储过程来查询名为EscalationStatus 的表中的所有记录。
但是在 Sql Server 2014 Management Studio 中执行 sql 脚本时,在我声明过程名称的地方会引发错误 -
"Msg 208, Level 16, State 6, Procedure GET_STATUS, Line 19
Invalid object name 'dbo.GET_STATUS'."
我检查了以下过程名称是否与 sql 脚本的名称匹配,并且 DB 名称是有效的。
我还采取了“刷新智能感知缓存”的步骤,但没有清除错误。
问题: 有谁知道为什么程序名称被评估为无效的对象名称?
`GET_STATUS` stored procedure:
USE [NOTIFICATION]
GO
/****** Object: StoredProcedure [dbo].[GET_STATUS] Script Date: 12/05/2016 11:50:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[GET_STATUS]
AS
BEGIN
SELECT
[EscStatus]
,[Color]
FROM NOTIFICATION.dbo.EscalationStatus
END
【问题讨论】:
-
SP 真的存在吗? IE。你试过用
CREATE替换ALTER吗? -
还有什么是 SQL Server 2013?
-
如果您正在创建一个新的存储过程,那么请使用 CREATE 而不是 ALTER。 (创建过程 [dbo].[GET_STATUS] ...)
-
您正在尝试更改尚未创建的过程。
-
替换 CREATE PROCEDURE [dbo].[GET_STATUS] 解决了它..随时发布作为答案。
标签: sql sql-server select stored-procedures