DROP AGGREGATE — 刪除一個聚合函式
DROP AGGREGATE [ IF EXISTS ]name(aggregate_signature) [, ...] [ CASCADE | RESTRICT ] whereaggregate_signatureis: * | [argmode] [argname]argtype[ , ... ] | [ [argmode] [argname]argtype[ , ... ] ] ORDER BY [argmode] [argname]argtype[ , ... ]
DROP AGGREGATE 用於刪除一個已存在的聚合函式。要執行此命令,當前使用者必須是該聚合函式的擁有者。
IF EXISTS如果聚合函式不存在,則不報錯。在這種情況下會發出一個通知。
name已存在的聚合函式的名稱(可選模式限定)。
argmode引數的模式:IN 或 VARIADIC。如果省略,則預設為 IN。
argname引數的名稱。請注意,DROP AGGREGATE 實際上並不關心引數名稱,因為只有引數資料型別才用於確定聚合函式的身份。
argtype聚合函式操作的輸入資料型別。要引用一個零引數的聚合函式,請在引數說明列表處寫 *。要引用一個有序集聚合函式,請在直接引數和聚合引數說明之間寫 ORDER BY。
CASCADE自動刪除依賴於該聚合函式的物件(例如使用該函式的檢視),以及隨後依賴於這些物件的所有物件(參見第 5.15 節)。
RESTRICT如果任何物件依賴於該聚合函式,則拒絕刪除該聚合函式。這是預設行為。
引用有序集聚合函式的替代語法在ALTER AGGREGATE 中進行了描述。
刪除型別為 integer 的聚合函式 myavg
DROP AGGREGATE myavg(integer);
刪除假設的有序集聚合函式 myrank,該函式接受任意數量的排序列和一個匹配的直接引數列表
DROP AGGREGATE myrank(VARIADIC "any" ORDER BY VARIADIC "any");
在一條命令中刪除多個聚合函式
DROP AGGREGATE myavg(integer), myavg(bigint);
SQL 標準中沒有 DROP AGGREGATE 語句。
如果您在文件中發現任何不正確、與您實際體驗不符或需要進一步澄清的內容,請使用此表格來報告文件問題。