Postgresql 中文操作指南

DROP ROUTINE

DROP ROUTINE — 删除例程

Synopsis

DROP ROUTINE [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...]
    [ CASCADE | RESTRICT ]

Description

DROP ROUTINE 会删除一个或多个现有例程的定义。“例程”一词包括聚合函数、普通函数和过程。有关参数的描述、更多示例和更多详细信息,请参阅 DROP AGGREGATEDROP FUNCTIONDROP PROCEDURE 下的内容。

Notes

DROP ROUTINE 使用的查找规则与 DROP PROCEDURE 基本相同;特别是, DROP ROUTINE 共享该命令的行为方式,即认为没有 argmode 标记的参数列表可能使用 SQL 标准的定义,即 OUT 参数包含在列表中。( DROP AGGREGATEDROP FUNCTION 不会这样做。)

在某些情况下,如果不同类型的例程共享相同的名称,则有可能造成 DROP ROUTINE 失败并出现歧义错误,而更具体的命令( DROP FUNCTION 等)能够正常工作。更仔细地指定参数类型列表也将解决此类问题。

其他操作现有例程的命令也会使用查找规则,如 ALTER ROUTINECOMMENT ON ROUTINE

Examples

要删除类型 integer 的例程 foo

DROP ROUTINE foo(integer);

此命令将独立于 foo 是聚合、函数或过程来执行。

Compatibility

此命令符合 SQL 标准,带有以下 PostgreSQL 扩展:

See Also

DROP AGGREGATEDROP FUNCTIONDROP PROCEDUREALTER ROUTINE 请注意没有 CREATE ROUTINE 命令。