Удаление хранимой процедуры
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure базе данных SQL Azure Synapse Analytics Analytics Platform System (PDW) в Microsoft Fabric
В этой статье описывается удаление хранимой процедуры в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
ограничения
Удаление процедуры может вызвать ошибку в зависимых объектах и в скриптах, если эти объекты и скрипты не обновляются для отражения удаления процедуры. Тем не менее, если вместо удаленной создать другую хранимую процедуру с тем же именем и параметрами, хранимые процедуры, которые на нее ссылаются, будут обрабатываться успешно. Дополнительные сведения см. в разделе Просмотр зависимостей хранимой процедуры.
Разрешения
Необходимо разрешение ALTER на схему, которой принадлежит процедура, или разрешение CONTROL на процедуру.
Использование SQL Server Management Studio
В обозреватель объектов подключитесь к экземпляру ядро СУБД, а затем разверните этот экземпляр.
Последовательно разверните узел Базы данных, базу данных, которой принадлежит процедура, и узел Программирование.
Разверните хранимые процедуры, щелкните правой кнопкой мыши процедуру, чтобы удалить, и нажмите кнопку "Удалить".
Чтобы просмотреть объекты, зависящие от процедуры, выберите " Показать зависимости".
Убедитесь, что выбрана правильная процедура, а затем нажмите кнопку "ОК".
Удалите ссылки на процедуру из зависимых объектов и скриптов.
Использование Transact-SQL
В обозреватель объектов подключитесь к экземпляру ядро СУБД, а затем разверните этот экземпляр.
Разверните Базы данных, разверните базу данных, к которой относится процедура, или с помощью панели инструментов выберите базу данных из списка доступных.
В меню "Файл" выберите "Создать запрос".
Получите имя хранимой процедуры для удаления из текущей базы данных. В обозревателе объектов разверните узел Программирование , затем Хранимые процедуры. Также можно выполнить следующую инструкцию в редакторе запросов.
SELECT name AS procedure_name , SCHEMA_NAME(schema_id) AS schema_name , type_desc , create_date , modify_date FROM sys.procedures;
Скопируйте и вставьте следующий пример в редактор запросов и введите имя хранимой процедуры, которую нужно удалить из текущей базы данных.
DROP PROCEDURE [<stored procedure name>]; GO
Удалите ссылки на процедуру из зависимых объектов и скриптов.