DROP FUNCTION (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウス

1 つまたは複数のユーザー定義関数を現在のデータベースから削除します。 ユーザー定義関数は 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, Microsoft Fabric

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

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

IF EXISTS
条件付きでは既に存在する場合にのみ、関数を削除します。 SQL Server 2016 以降および SQL Database で使用できます。

schema_name
ユーザー定義関数が属するスキーマの名前を指定します。

function_name
削除するユーザー定義関数の名前です。 スキーマ名の指定は省略可能です。 サーバー名とデータベース名は指定できません。

注釈

データベース内に、この関数を参照し SCHEMABINDING を使って作成された Transact-SQL 関数またはビューがある場合、または、この関数を参照する計算列、CHECK 制約、DEFAULT 制約がある場合、DROP FUNCTION は失敗します。

この関数を参照し、インデックスが作成された計算列がある場合、DROP FUNCTION は失敗します。

アクセス許可

DROP FUNCTION を実行するには、少なくとも、関数が属するスキーマに対する ALTER 権限、または関数に対する CONTROL 権限が必要です。

A. 関数を削除する

次の例では、AdventureWorks2022 サンプル データベースの Sales スキーマから、fn_SalesByStore ユーザー定義関数を削除します。 この関数を作成する方法については、「CREATE FUNCTION (Transact-SQL)」の例 B をご覧ください。

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)