DROP FUNCTION — 刪除一個函式
DROP FUNCTION [ IF EXISTS ]name
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] [, ...] [ CASCADE | RESTRICT ]
DROP FUNCTION
刪除現有函式的定義。要執行此命令,使用者必須是該函式的所有者。必須指定函式的引數型別,因為具有相同名稱但引數列表不同的多個函式可能存在。
IF EXISTS
如果函式不存在,則不引發錯誤。在這種情況下會發出通知。
name
現有函式的名稱(可選擇模式限定)。如果未指定引數列表,則該名稱在其模式中必須是唯一的。
argmode
引數的模式:IN
、OUT
、INOUT
或 VARIADIC
。如果省略,則預設為 IN
。請注意,DROP FUNCTION
實際上並不關注 OUT
引數,因為僅輸入引數就足以確定函式的身份。因此,列出 IN
、INOUT
和 VARIADIC
引數就足夠了。
argname
引數的名稱。請注意,DROP FUNCTION
實際上並不關注引數名稱,因為僅引數資料型別就足以確定函式的身份。
argtype
函式的引數的資料型別(可選擇模式限定),如果有的話。
CASCADE
自動刪除依賴於該函式(例如,運算子或觸發器)的物件,以及依次依賴於這些物件的所有物件(參見 第 5.15 節)。
RESTRICT
如果任何物件依賴於該函式,則拒絕刪除該函式。這是預設設定。
此命令刪除平方根函式
DROP FUNCTION sqrt(integer);
在一條命令中刪除多個函式
DROP FUNCTION sqrt(integer), sqrt(bigint);
如果函式名稱在其模式中是唯一的,則可以不帶引數列表引用它
DROP FUNCTION update_employee_salaries;
請注意,這與
DROP FUNCTION update_employee_salaries();
不同,後者引用一個零引數函式,而第一種變體可以引用任何數量的引數(包括零)的函式,只要名稱是唯一的。
此命令符合 SQL 標準,並帶有以下 PostgreSQL 擴充套件
標準僅允許每條命令刪除一個函式。
IF EXISTS
選項
指定引數模式和名稱的能力
如果您在文件中發現任何不正確、與您對特定功能的實際使用經驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。