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 的详细信息,请参阅错误和诊断。