支援的版本: 目前 (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 AGGREGATE

DROP AGGREGATE — 移除彙總函式

概要

DROP AGGREGATE [ IF EXISTS ] name ( aggregate_signature ) [, ...] [ CASCADE | RESTRICT ]

where aggregate_signature is:

* |
[ argmode ] [ argname ] argtype [ , ... ] |
[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]

描述

DROP AGGREGATE 移除現有的彙總函式。要執行此命令,目前使用者必須是該彙總函式的擁有者。

參數

IF EXISTS

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

name

現有彙總函式的名稱(可選擇加上 schema 限定)。

argmode

引數的模式:INVARIADIC。如果省略,則預設為 IN

argname

引數的名稱。請注意,DROP AGGREGATE 實際上並未注意引數名稱,因為只需要引數資料類型即可確定彙總函式的識別。

argtype

彙總函式運算的輸入資料類型。若要參考零引數彙總函式,請在引數規格清單中寫入 *。若要參考排序集合 (ordered-set) 彙總函式,請在直接引數規格和彙總引數規格之間寫入 ORDER BY

CASCADE

自動刪除依賴於彙總函式的物件(例如使用它的視圖),進而刪除依賴於這些物件的所有物件(請參閱 第 5.15 節)。

RESTRICT

如果任何物件依賴於彙總函式,則拒絕刪除它。這是預設值。

備註

參考排序集合彙總函式的替代語法在 ALTER AGGREGATE 中描述。

範例

移除類型為 integer 的彙總函式 myavg

DROP AGGREGATE myavg(integer);

移除假設集合 (hypothetical-set) 彙總函式 myrank,它採用任意排序欄位清單和相符的直接引數清單

DROP AGGREGATE myrank(VARIADIC "any" ORDER BY VARIADIC "any");

在一個命令中移除多個彙總函式

DROP AGGREGATE myavg(integer), myavg(bigint);

相容性

SQL 標準中沒有 DROP AGGREGATE 語句。

提交更正

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