DROP FUNCTION

名前

DROP FUNCTION -- 関数を削除する

概要

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

説明

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

パラメータ

IF EXISTS

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

name

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

argmode

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

argname

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

argtype

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

CASCADE

関数に依存するオブジェクト(演算子やトリガなど)を自動的に削除します。

RESTRICT

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

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

DROP FUNCTION sqrt(integer);

互換性

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

関連項目

CREATE FUNCTION, ALTER FUNCTION