在模块中创建对象
如果您标识了一组例程、数据类型和变量(可能在单个业务案例的支持下)以便将它们一起定义到公共名称空间中从而便于管理和部署,那么创建模块后应在模块中创建对象。
开始之前
- 查看 ALTER MODULE 语句文档。
- 确保您具有执行 ALTER MODULE 语句的特权。
关于此任务
此任务通过执行 ALTER 模块语句来完成。ALTER 模块语句允许将对象作为已发布对象或未发布对象添加。可在模块外部引用已发布对象,但只有同一模块中的其他对象才能引用未发布对象。
在模块中,可在一开始没有例程体的情况下定义过程或函数。它们称为原型。只会为已发布过程或函数创建原型。以后可使用相同例程特征符来添加已发布例程原型的例程体。
限制
有关模块的限制:- 请参阅:对模块的限制
过程
结果
示例
ALTER MODULE inventory
PUBLISH PROCEDURE p(IN c1 INT, IN c2 INT, IN c3 CHAR) @
ALTER MODULE inventory
PUBLISH PROCEDURE q(IN c1 INT, IN c2 VARCHAR(8))@
ALTER MODULE inventory
ADD PROCEDURE p(IN c1 INT, IN c2 INT, IN c3 CHAR)
LANGUAGE SQL
BEGIN
IF c1 > 10 THEN
CALL q(1, 'hello')
ELSE IF c2 > 5 THEN
SET c3 = CHAR(c2);
END IF;
END@
ALTER MODULE inventory
ADD PROCEDURE r(c1 INT, c2 INT, c3 CHAR)
LANGUAGE SQL
BEGIN
CALL q(1, 'hello');
END@