On this page
DROP PROCEDURE
删除程序-删除程序
Synopsis
DROP PROCEDURE [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...]
[ CASCADE | RESTRICT ]
Description
DROP PROCEDURE
删除现有过程的定义。要执行此命令,用户必须是过程的所有者。必须指定过程的参数类型,因为可以存在多个具有相同名称和不同参数列表的不同过程。
Parameters
IF EXISTS
- 如果该过程不存在,请不要引发错误。在这种情况下发出通知。
name
- 现有过程的名称(可选的模式限定)。如果未指定参数列表,则名称在其架构中必须唯一。
argmode
- 参数的模式:
IN
或VARIADIC
。如果省略,则默认值为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