Подтвердить что ты не робот

Недопустимое имя объекта SQL Server 2008 R2 - Сохраненная процедура

Я пытаюсь изменить существующую хранимую процедуру командой

ALTER 'name_of_stored "procedure'

однако название выделяется красным цветом, отмечая, что это недопустимый объект. Я могу выполнить команду успешно, однако я хочу знать, почему SQL Server 2008 R2 отмечает это как ошибку. enter image description here

4b9b3361

Ответ 1

Это SSMS, а не SQL Server. Если это ошибка в отношении механизма базы данных, вы это узнаете (он не выполнит команду успешно).


Решение

Вам нужно обновить кеш Intellisense (Ctrl + Shift + R). Или вы можете перейти в Edit → IntelliSense → Обновить локальный кэш.

Ответ 2

Intellisense не обновляется так быстро, как вы создаете новые объекты. Необходимо обновить кеш (Ctrl + Shift + R). Или, может быть, не полагайтесь на Intellisense и беспокоитесь только о том, если выполнение не выполняется.

Ответ 3

Создайте хранимую процедуру с помощью CREATE PROCEDURE, а не ALTER PROCEDURE.

Ответ 4

У меня была такая же проблема, и я увидел невероятное количество возможных ответов, некоторые довольно экзотические. К сожалению, я не видел эту страницу, прежде чем найти то, что сработало для меня. Я думал, что добавлю это, хотя считаю, что он служит тому же концу, что и освежающий Intellisense. Я знал, что сделал свою работу правильно, потому что хранимая процедура работала корректно, несмотря на ошибку, поэтому я, наконец, решил, что это не настоящая ошибка.

Я вышел из SSMS и снова вошел, и ошибка имени недействительного объекта больше не появилась. Я предполагаю, что обновил Intellisense.

Ответ 5

У меня была такая же проблема, проблема заключалась в том, что у меня был оператор select из хранимого proc, имя которого было похоже на имя таблицы, поэтому вместо

  select * from Table_Test

Я писал это в хранимой процедуре

  select * from Proc_Test --selecting from Stored proc, yikes!!

возможно, это помогает

Ответ 6

В моем случае на SQL Server 2014 Express значение имени хранимой процедуры, отображающее это сообщение об ошибке

Неверное имя объекта "SP_NAME"

даже если хранимая процедура уже создана и успешно выполнена. Но после включения IntelliSense ошибка была удалена, и каждый запрос хранимой процедуры работал нормально.

enter image description here