Получить текст хранимой процедуры после переименования в SQL Server - PullRequest
0 голосов
/ 11 марта 2020

Сегодня я столкнулся со странной проблемой .... Я сделал sp_helptext для хранимой процедуры, но имя хранимой процедуры в операторе CREATE PROCEDURE (в результате) не соответствовало имени, которое я использовал в операторе sp_helptext (см. скриншот ниже). Я попытался выбрать из sys.all_sql_modules, а также OBJECT_DEFINITION, но он дал тот же результат.

В моем примере ниже я использовал InvIRCode_GetByInvIRID, но результат дал мне InvIRCode_Get Список ByInvIRID

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

У меня такой вопрос: как получить правильный исходный код для хранимой процедуры? процедура?

Интересно то, что когда я щелкаю правой кнопкой мыши по sp в Object Explorer SQL Server Management Studio и выбираю сценарий процедуры для нового окна, он дает правильный код.

SP Code

1 Ответ

0 голосов
/ 11 марта 2020

Обратите внимание, это предупреждение возвращается sp_rename:

Caution: Changing any part of an object name could break scripts and stored procedures.

Текст в представлениях каталога не изменяется sp_rename. Имя pro c будет исправлено, когда вы создадите скрипт pro c через SSMS или SMO. Вы можете изменять (или удалять / создавать) модули, используя этот скрипт, чтобы исправить текст в представлениях каталога после переименования.

...