Хранимая процедура анализируется правильно, но не будет выполняться. Неверное имя объекта. Msg 208 - PullRequest
4 голосов
/ 25 мая 2009

Я запрограммировал хранимую процедуру следующим образом. Он будет анализироваться без ошибок, но когда я попытаюсь его выполнить, произойдет сбой. Сообщение об ошибке гласит: Сообщение 208, Уровень 16, Состояние 6, Процедура aspnet_updateUser, Строка 23 Неверное имя объекта 'dbo.aspnet_updateUser'.

Вот хранимая процедура.

    USE [PMRS2]
GO
/****** Object:  StoredProcedure [dbo].[aspnet_updateUser]    Script Date: 05/25/2009 15:29:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:      <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[aspnet_updateUser]
    -- Add the parameters for the stored procedure here
    @UserName nvarchar(50),
    @Email nvarchar(50),
    @FName nvarchar(50),
    @LName nvarchar(50),
    @ActiveFlag bit,
    @GroupId int

AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here

UPDATE dbo.aspnet_Users 
    SET UserName = @UserName, LoweredUserName = LOWER(@UserName), Email = @Email, FName = @FName, LName = @LName, ActiveFlag = @ActiveFlag, GroupId = @GroupId
    WHERE LoweredUserName = LOWER(@UserName)
END

Ответы [ 2 ]

13 голосов
/ 25 мая 2009

Похоже, его еще не существует, поменяйте Alter на Create.

0 голосов
/ 26 мая 2009

Чтобы избежать этого в будущем, делайте то, что мы делаем, никогда не используйте alter proc. Вместо этого мы проверяем наличие процедуры и удаляем ее, если она существует, а затем создаем ее с новым кодом:

IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'myProc')
BEGIN
    DROP  Procedure  myProc
END
GO

CREATE PROCEDURE myProc 
(add the rest of the proc here)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...