DROP FUNCTION (Transact-SQL)

Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)

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

Функция DROP поддерживает скомпилированные в собственном коде скалярные определяемые пользователем функции. Дополнительные сведения см. в разделе Скалярные определяемые пользователем функции для выполняющейся в памяти OLTP.

Соглашения о синтаксисе Transact-SQL

Синтаксис

 -- SQL Server, Azure SQL Database 

DROP FUNCTION [ IF EXISTS ] { [ schema_name. ] function_name } [ ,...n ]   
[;]
 -- Azure Synapse Analytics, Parallel Data Warehouse 

DROP FUNCTION [IF EXISTS] [ schema_name. ] function_name
[;] 

Примечание

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.

Аргументы

IF EXISTS
Условно удаляет функцию только в том случае, если она уже существует. Доступно в SQL Server начиная с версии 2016 и в Базе данных SQL.

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

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

Remarks

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

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

Разрешения

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

Примеры

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

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

DROP FUNCTION Sales.fn_SalesByStore;  

См. также:

ALTER FUNCTION (Transact-SQL)
CREATE FUNCTION (Transact-SQL)
OBJECT_ID (Transact-SQL)
EVENTDATA (Transact-SQL)
sys.sql_modules (Transact-SQL)
sys.parameters (Transact-SQL)