Поделиться через


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

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

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

  • Перед началом работы выполните следующие действия.

    Ограничения

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

  • Для переименования хранимой процедуры используется:

    Среда SQL Server Management Studio

    Transact-SQL

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

Ограничения

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

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

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

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

Разрешения

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

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

Значок стрелки, используемый со ссылкой «В начало»[Top]

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

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

  1. В обозревателе объектов подключитесь к экземпляру компонента Компонент Database Engine и разверните его.

  2. Последовательно разверните узел Базы данных, базу данных, которой принадлежит процедура, и узел Программирование.

  3. Определите зависимости хранимой процедуры.

  4. Разверните узел Хранимые процедуры, щелкните процедуру правой кнопкой мыши и выберите команду Переименовать.

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

  6. Измените имя процедуры во всех зависимых от нее объектах и скриптах.

Значок стрелки, используемый со ссылкой «В начало»[Top]

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

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

  1. Подключитесь к компоненту Компонент Database Engine.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере показано, как переименовать процедуру путем ее удаления и повторного создания с новым именем. В первом примере создается хранимая процедура 'HumanResources.uspGetAllEmployeesTest. Во втором примере имя хранимой процедуры меняется на HumanResources.uspEveryEmployeeTest.

--Create the stored procedure.
USE AdventureWorks2012;
GO
IF OBJECT_ID ( 'HumanResources.uspGetAllEmployeesTest', 'P' ) IS NOT NULL 
    DROP PROCEDURE HumanResources.uspGetAllEmployeesTest;
GO
CREATE PROCEDURE HumanResources.uspGetAllEmployeesTest
AS
    SET NOCOUNT ON;
    SELECT LastName, FirstName, Department
    FROM HumanResources.vEmployeeDepartmentHistory;
GO

--Rename the stored procedure.
USE AdventureWorks2012;
GO
IF OBJECT_ID ( 'HumanResources.uspGetAllEmployeesTest', 'P' ) IS NOT NULL 
    DROP PROCEDURE HumanResources.uspGetAllEmployeesTest;
GO
CREATE PROCEDURE HumanResources.uspEveryEmployeeTest
AS
    SET NOCOUNT ON;
    SELECT LastName, FirstName, Department
    FROM HumanResources.vEmployeeDepartmentHistory;
GO

Значок стрелки, используемый со ссылкой «В начало»[Top]

См. также

Справочник

Инструкция ALTER PROCEDURE (Transact-SQL)

CREATE PROCEDURE (Transact-SQL)

Основные понятия

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

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

Удаление хранимой процедуры

Просмотр определения хранимой процедуры

Просмотр зависимостей хранимой процедуры