[英]How to resolve invalid object name in Stored procedure script?
我創建了一個存儲過程來查詢名為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 腳本的名稱匹配,並且數據庫名稱是有效的。
我還采取了“刷新智能感知緩存”的步驟,但沒有清除錯誤。
問題:有誰知道為什么過程名稱被評估為無效的對象名稱?
`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
從 Alter 過程腳本中刪除以下行或在上述查詢的第一行將其注釋掉。:
`GET_STATUS` stored procedure:
用這個:
--`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
按照此模板創建/更改程序
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[P1]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[P1]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE proc [dbo].[P1]
AS
BEGIN
SELECT 1 AS VAL
END
GO
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.