支援的版本:目前 (17) / 16 / 15 / 14 / 13
開發版本:devel
不支援的版本:12 / 11 / 10 / 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 / 7.1

DROP FUNCTION

DROP FUNCTION — 移除函式

概要

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

描述

DROP FUNCTION 移除現有函式的定義。要執行此命令,使用者必須是函式的擁有者。必須指定函式的引數類型,因為可能存在多個具有相同名稱但引數清單不同的函式。

參數

IF EXISTS

如果函式不存在,則不拋出錯誤。 在這種情況下,會發出通知。

name

現有函式的名稱 (可選擇包含 schema 限定詞)。 如果未指定引數清單,則該名稱在其 schema 中必須是唯一的。

argmode

引數的模式:INOUTINOUTVARIADIC。 如果省略,則預設為 IN。 請注意,DROP FUNCTION 實際上並不關注 OUT 引數,因為只需輸入引數即可確定函式的身分。 因此,列出 ININOUTVARIADIC 引數就足夠了。

argname

引數的名稱。 請注意,DROP FUNCTION 實際上並不關注引數名稱,因為只需引數資料類型即可確定函式的身分。

argtype

函式引數的資料類型(可選擇包含 schema 限定詞),如果有的話。

CASCADE

自動刪除取決於函式的物件(例如運算符或觸發器),並依序刪除取決於這些物件的所有物件(請參閱Section 5.15)。

RESTRICT

如果任何物件取決於該函式,則拒絕刪除該函式。 這是預設值。

範例

此命令移除平方根函式

DROP FUNCTION sqrt(integer);

在一個命令中刪除多個函式

DROP FUNCTION sqrt(integer), sqrt(bigint);

如果函式名稱在其 schema 中是唯一的,則可以不用引數清單來引用它

DROP FUNCTION update_employee_salaries;

請注意,這與以下不同

DROP FUNCTION update_employee_salaries();

它引用一個零引數的函式,而第一個變體可以引用任何數量的引數的函式,包括零,只要該名稱是唯一的。

相容性

此命令符合 SQL 標準,具有以下 PostgreSQL 擴充功能

  • 標準只允許每個命令刪除一個函式。

  • IF EXISTS 選項

  • 指定引數模式和名稱的能力

提交更正

如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的地方,請使用此表格來報告文件問題。