DROP AGGREGATE — 移除彙總函式
DROP AGGREGATE [ IF EXISTS ]name
(aggregate_signature
) [, ...] [ CASCADE | RESTRICT ] whereaggregate_signature
is: * | [argmode
] [argname
]argtype
[ , ... ] | [ [argmode
] [argname
]argtype
[ , ... ] ] ORDER BY [argmode
] [argname
]argtype
[ , ... ]
DROP AGGREGATE
移除現有的彙總函式。要執行此命令,目前使用者必須是該彙總函式的擁有者。
IF EXISTS
如果彙總函式不存在,則不要拋出錯誤。在這種情況下,會發出通知。
name
現有彙總函式的名稱(可選擇加上 schema 限定)。
argmode
引數的模式:IN
或 VARIADIC
。如果省略,則預設為 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
語句。
如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步澄清的地方,請使用此表單報告文件問題。