删除模块中的对象
不再需要模块内定义的对象时,可删除模块。如果只是不再需要模块中的某些对象,那么可选择仅删除这些对象。
开始之前
- 模块必须存在。
- 您必须具有执行 ALTER MODULE 语句的权限。
关于此任务
限制
有关限制:- 请参阅:对模块的限制
过程
结果
示例
CREATE MODULE m @
ALTER MODULE m PUBLISH PROCEDURE B() @
ALTER MODULE m PUBLISH PROCEDURE A()
BEGIN
CALL B();
END @
ALTER MODULE m ADD PROCEDURE B() BEGIN END @ 可通过执行以下语句来删除过程 B:ALTER MODULE m DROP PROCEDURE B @该语句成功执行时,会从模块 m 中删除过程 B。从属对象过程 A 将标记为不可操作,原因是它引用的过程 B 不再可用。可通过执行以下语句删除模块 m 中定义的所有专用对象:
ALTER MODULE m DROP BODY @该语句成功执行时:
- 模块中定义的已发布过程的主体将被删除。过程原型保持已定义状态。
- 模块专用的数据类型和全局变量被删除。已发布数据类型和全局变量保持已定义状态。
- 模块未被删除。它在模式内保持已定义状态。