DROP ROUTINE — 移除常式
DROP ROUTINE [ IF EXISTS ]name
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] [, ...] [ CASCADE | RESTRICT ]
DROP ROUTINE
移除一個或多個現有常式的定義。術語「“routine”」包含聚合函數、一般函數和程序。有關參數的描述、更多範例和更多詳細訊息,請參閱 DROP AGGREGATE、DROP FUNCTION 和 DROP PROCEDURE。
DROP ROUTINE
使用的查找規則與 DROP PROCEDURE
的規則基本相同;特別是,DROP ROUTINE
共享該指令的行為,即將沒有 argmode
標記的引數列表視為可能使用 SQL 標準的定義,即 OUT
引數包含在列表中。(DROP AGGREGATE
和 DROP FUNCTION
沒有這樣做。)
在某些情況下,當不同種類的常式共享同一個名稱時,當使用更具體的指令(DROP FUNCTION
等)時,DROP ROUTINE
可能會因為含糊不清的錯誤而失敗。更仔細地指定引數類型列表也可以解決此類問題。
這些查找規則也用於作用於現有常式的其他指令,例如 ALTER ROUTINE
和 COMMENT ON ROUTINE
。
移除類型為 integer
的常式 foo
DROP ROUTINE foo(integer);
無論 foo
是聚合、函數還是程序,此指令都可以使用。
此指令符合 SQL 標準,並具有以下 PostgreSQL 擴充功能
該標準僅允許每個指令刪除一個常式。
IF EXISTS
選項是一個擴充功能。
指定引數模式和名稱的功能是一個擴充功能,並且當給定模式時,查找規則會有所不同。
使用者可定義的聚合函數是一個擴充功能。
如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步說明的內容,請使用此表單來報告文件問題。