Изменение имени хранимой процедуры

Применимо к:база данныхSQL Server Azure SQL Управляемый экземпляр SQL Azure

В этом разделе описывается переименование хранимой процедуры в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

В этом разделе

Перед началом

Ограничения

  • Имена процедур должны соответствовать правилам для идентификаторов.

  • Переименование хранимой процедуры сохраняет object_id и все разрешения, которые были специально назначены для этой процедуры. Удаление и повторное создание объекта создает новый object_id и удаляет все разрешения, которые были специально назначены для этой процедуры.

  • При переименовании хранимой процедуры не изменяется имя соответствующего объекта в столбце определения sys.sql_modules в представлении каталога. Чтобы изменить его, нужно удалить хранимую процедуру и создать ее повторно с новым именем.

  • Изменение имени или определения процедуры может привести к тому, что все зависящие от нее объекты при выполнении будут возвращать ошибку, если они не будут обновлены в соответствии с внесенными в процедуру изменениями. Дополнительные сведения см. в разделе Просмотр зависимостей хранимой процедуры.

Безопасность

Разрешения

CREATE PROCEDURE
Требуется разрешение CREATE PROCEDURE на базу данных и разрешение ALTER на схему, в которой создается процедура, либо членство в предопределенной роли базы данных db_ddladmin.

ALTER PROCEDURE
Требуется разрешение ALTER на процедуру или членство в предопределенной роли базы данных db_ddladmin .

Использование среды SQL Server Management Studio

Изменение имени хранимой процедуры

  1. В обозревателе объектов подключитесь к экземпляру Компонент Database Engine и разверните его.
  2. Последовательно разверните узел Базы данных, базу данных, которой принадлежит процедура, и узел Программирование.
  3. Определите зависимости хранимой процедуры.
  4. Разверните узел Хранимые процедуры, щелкните процедуру правой кнопкой мыши и выберите команду Переименовать.
  5. Измените имя хранимой процедуры.
  6. Измените имя процедуры во всех зависимых от нее объектах и скриптах.

Использование Transact-SQL

Изменение имени хранимой процедуры

  1. Установите соединение с компонентом Компонент Database Engine.
  2. На панели «Стандартная» нажмите Создать запрос.
  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере показано, как переименовать процедуру путем ее удаления и повторного создания с новым именем. В первом примере создается хранимая процедура 'HumanResources.uspGetAllEmployeesTest. Во втором примере имя хранимой процедуры меняется на HumanResources.uspEveryEmployeeTest.
--Create the stored procedure.  
USE AdventureWorks2022;  
GO  

CREATE PROCEDURE HumanResources.uspGetAllEmployeesTest  
AS  
    SET NOCOUNT ON;  
    SELECT LastName, FirstName, Department  
    FROM HumanResources.vEmployeeDepartmentHistory;  
GO  
  
--Rename the stored procedure.  
EXEC sp_rename 'HumanResources.uspGetAllEmployeesTest', 'uspEveryEmployeeTest'; 

См. также:

ALTER PROCEDURE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
Создание хранимой процедуры
Изменение хранимой процедуры
Удаление хранимой процедуры
Просмотр определения хранимой процедуры
Просмотр зависимостей хранимой процедуры