DROP PROCEDURE¶
说明¶
删除一个存储过程
参数¶
IF EXISTS
删除存储过程时,若存在同名存储过程则进行删除,否则会跳过操作,且会打印NOTICE提示信息
schema
存储过程所属的模式名
proc_name
存储过程名,跟过程创建时相同。
RESTRICT|CASCADE|CASCADE CONSTRAINTS
- RESTRICT确保只有不存在相关视图或完整性约束的表才可以被删除。
- CASCADE|CASCADE CONSTRAINTS强制删除存储过程,并删除任何与本存储过程有依赖性的数据库对象。
默认为RESTRICT
示例¶
示例1: 删除一个存储过程
-- 清理环境
DROP PROCEDURE proc1 CASCADE;
-- 创建存储过程
CREATE PROCEDURE proc1(INT, INT) AS
BEGIN
DBMS_OUTPUT.PUT_LINE($1 + $2);
END;
/
-- 删除存储过程
DROP PROCEDURE proc1;
-- 存储过程不存在时,删除存储过程
-- 使用 IF EXISTS 时,跳过操作,不报错
DROP PROCEDURE IF EXISTS proc1;
-- 不使用 IF EXISTS 时,语句报错
DROP PROCEDURE proc1;
ERROR, 过程不存在, procedure "PROC1" does not exist