DROP PROCEDURE

删除程序-删除程序

Synopsis

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

Description

DROP PROCEDURE删除现有过程的定义。要执行此命令,用户必须是过程的所有者。必须指定过程的参数类型,因为可以存在多个具有相同名称和不同参数列表的不同过程。

Parameters

  • IF EXISTS

    • 如果该过程不存在,请不要引发错误。在这种情况下发出通知。
  • name

    • 现有过程的名称(可选的模式限定)。如果未指定参数列表,则名称在其架构中必须唯一。
  • argmode

    • 参数的模式:INVARIADIC。如果省略,则默认值为IN
  • argname

    • 参数的名称。注意DROP PROCEDURE实际上并没有注意参数名称,因为只需要参数数据类型来确定过程的身份即可。
  • argtype

    • 过程参数的数据类型(可选,通过模式限定)(如果有)。
  • CASCADE

    • 自动删除依赖于该过程的对象,并依次删除依赖于那些对象的所有对象(请参见Section 5.13)。
  • RESTRICT

    • 如果有任何对象依赖该过程,则拒绝删除该过程。这是默认值。

Examples

DROP PROCEDURE do_db_maintenance();

Compatibility

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

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

  • IF EXISTS选项

  • 指定参数模式和名称的能力

See Also

CREATE PROCEDURE, ALTER PROCEDURE, DROP FUNCTION, DROP ROUTINE