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
已存在的聚合函式的名稱(可選模式限定)。
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
語句。
如果您在文件中發現任何不正確、與您實際體驗不符或需要進一步澄清的內容,請使用此表格來報告文件問題。