DROP FUNCTION (Transact-SQL)

1 つ以上のユーザー定義関数を現在のデータベースから削除します。ユーザー定義関数は CREATE FUNCTION を使って作成し、ALTER FUNCTION を使って変更します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

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

引数

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

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

説明

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

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

権限

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

A. 関数を削除する

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

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