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


DROP FUNCTION (Transact-SQL)

Удаляет из текущей базы данных одну или несколько пользовательских функций. Пользовательские функции создаются с помощью инструкции CREATE FUNCTION и изменяются с помощью инструкции ALTER FUNCTION.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

DROP FUNCTION { [ schema_name. ] function_name } [ ,...n ] 

Аргументы

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

  • function_name
    Имя удаляемой пользовательской функции или функций. Указание имени схемы является необязательным. Невозможно указать имя сервера и имя базы данных.

Замечания

При выполнении инструкции DROP FUNCTION произойдет сбой, если в базе данных существуют функции или представления языка Transact-SQL, созданные с ключевым словом SCHEMABINDING и содержащие ссылки на удаляемую функцию, или если база данных содержит вычисляемые столбцы, ограничения CHECK или DEFAULT, которые ссылаются на эту функцию.

При выполнении инструкции DROP FUNCTION произойдет сбой, если имеются вычисляемые столбцы, которые содержат ссылки на удаляемую функцию и которые были проиндексированы.

Разрешения

Для вызова инструкции DROP FUNCTION у пользователя должно быть как минимум разрешение ALTER на схему, которой принадлежит функция, или разрешение CONTROL на функцию.

Примеры

А. Удаление функции

В следующем примере пользовательская функция fn_SalesByStore удаляется из схемы Sales в образце базы данных AdventureWorks. Создание этой функции описано в примере Б в разделе CREATE FUNCTION (Transact-SQL).

USE AdventureWorks;
GO
IF OBJECT_ID (N'Sales.fn_SalesByStore', N'IF') IS NOT NULL
    DROP FUNCTION Sales.fn_SalesByStore;
GO