DROP PROCEDURE(存储)

删除存储过程

语法

DROP PROCEDURE [ IF EXISTS ] [[database.]schema.]procedure( [ parameter-type-list] );

参数

IF EXISTS
指定当要删除的过程不存在时不报告错误。 在 SQL 脚本中使用此子句,可避免在尝试创建不存在的对象之前删除它们时出错。
[database.]schema

数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。

过程
存储过程的名称,其中 procedure 符合标识符中描述的约定。
parameter-type-list
IN 参数类型的逗号分隔列表。

特权

非超级用户:

  • 所有者或 DROP 权限

  • 对架构的 USAGE 权限

示例

对于下列过程:

=> CREATE PROCEDURE raiseXY(IN x INT, y VARCHAR) LANGUAGE PLvSQL AS $$
BEGIN
    RAISE NOTICE 'x = %', x;
    RAISE NOTICE 'y = %', y;
    -- some processing statements
END;
$$;

CALL raiseXY(3, 'some string');
NOTICE 2005:  x = 3
NOTICE 2005:  y = some string

您可以使用以下命令进行删除:

=> DROP PROCEDURE raiseXY(INT, VARCHAR);
DROP PROCEDURE

有关 RAISE NOTICE 的详细信息,请参阅错误和诊断

另请参阅