他のバージョンの文書9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

名前

DROP FUNCTION — 関数を削除する

概要

DROP FUNCTION [ IF EXISTS ] name ( [ [ argmode ] [ argname ] argtype [, ...] ] )
    [ CASCADE | RESTRICT ]

説明

DROP FUNCTIONは既存の関数定義を削除します。 このコマンドを実行できるのは、その関数の所有者のみです。 関数の引数の型は必ず指定しなければなりません。 異なる引数を持つ同じ名前の関数が複数存在する可能性があるからです。

パラメータ

IF EXISTS

関数が存在しない場合でもエラーになりません。 この場合注意メッセージが発行されます。

name

既存の関数の名前です(スキーマ修飾名も可)。

argmode

引数のモードで、INOUTINOUTVARIADICのいずれかです。 省略された場合のデフォルトはINです。 関数の識別を行うには入力引数のみが必要ですので、実際にはDROP FUNCTIONOUT引数を無視することに注意してください。 ですので、ININOUT、およびVARIADIC引数を列挙することで十分です。

argname

引数の名前です。 関数の識別を行うには引数のデータ型のみが必要ですので、実際にはDROP FUNCTIONは引数の名前を無視することに注意してください。

argtype

もしあれば、その関数の引数のデータ型(スキーマ修飾可能)です。

CASCADE

関数に依存するオブジェクト(演算子やトリガなど)を自動的に削除し、さらにそれらのオブジェクトに依存するすべてのオブジェクトも削除します(5.13. 依存関係の追跡参照)。

RESTRICT

依存しているオブジェクトがある場合、その関数の削除を拒否します。 これがデフォルトです。

次のコマンドは平方根関数を削除します。

DROP FUNCTION sqrt(integer);

互換性

DROP FUNCTION文は標準SQLでも定義されていますが、このコマンドとは互換性がありません。

関連項目

CREATE FUNCTION, ALTER FUNCTION