# 放弃常规

DROP ROUTINE — 删除一个例程

# 概要

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

# 描述

放弃常规删除一个或多个现有例程的定义。术语“例程”包括聚合函数、普通函数和过程。见下文删除聚合,拖放功能, 和丢弃程序有关参数的描述、更多示例和更多详细信息。

# 笔记

使用的查找规则放弃常规与 for 基本相同丢弃程序;尤其,放弃常规共享该命令考虑参数列表的行为,该参数列表没有*参数模式*标记可能使用 SQL 标准的定义出去参数包含在列表中。(删除聚合拖放功能不要那样做。)

在某些情况下,不同类型的例程共享相同的名称,可能放弃常规当更具体的命令(拖放功能等)会起作用。更仔细地指定参数类型列表也将解决此类问题。

这些查找规则也被作用于现有例程的其他命令使用,例如改变常规对常规的评论.

# 例子

放弃常规对于类型整数

DROP ROUTINE foo(integer);

该命令将独立于是否是聚合、函数或过程。

# 兼容性

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

  • 该标准仅允许每个命令删除一个例程。

  • 如果存在选项是一个扩展。

  • 指定参数模式和名称的能力是一种扩展,并且在给出模式时查找规则会有所不同。

  • 用户可定义的聚合函数是一种扩展。

# 也可以看看

删除聚合, 拖放功能, 丢弃程序, 改变常规

请注意,没有创建例程命令。