ESQL 模块

模块是定义变量及其初始值的声明序列,是为消息流节点定义特定行为的子例程(函数和过程)的声明序列。

模块必须以 CREATE node_type MODULE 语句开始,并以 END MODULE 语句结束。node_type 必须是 COMPUTE、DATABASE 或 FILTER。ESQL 代码的入口点是 MAIN 函数,该函数具有 MODULE 作用域。

每个模块由一个跟在 CREATE node_type MODULE 后面的名称构成。该名称创建时具有缺省值,您可以修改该名称,也可以自己创建它。用不区分大小写的方式处理名称(即,使用与声明匹配的大写和小写字母的任意组合名称)。这与您用于声明模式、常量、变量和标签的名称相反,这些名称要区别大小写并且需要在声明时得到明确指定。

您必须在后缀为 .esql 的 ESQL 文件中为模块创建代码。必须在与该文件所引用节点相同的代理模式内创建该文件。对于每个相应节点必须有一个类型正确的模块,它特定到那个节点,并且无法由任何其他节点无法使用。

当您创建 ESQL 文件(或者完成创建该文件的任务)时,指示与文件相关联的消息流项目和代理模式,并指定文件名。

在 ESQL 文件内,每个模块的名称取决于消息流节点相应属性的值。例如,Compute 节点的属性 ESQL Module 指定了 ESQL 文件中节点模块的名称。该属性的缺省值是该节点的名称。您可以指定一个不同的名称,但必须确保属性值与提供所需函数的模块名相同。

模块必须包含函数 MAIN,它是该模块的入口点。如果为您创建模块,这将自动包括在内。在 MAIN 中,您可以编码 ESQL 以配置节点的行为。如果您在声明变量、常量、函数和过程的模块中包含 ESQL,这只是本地作用域并在单个模块内使用。

如果您想要再次使用 ESQL 常量、函数或过程,必须在代理模式级别声明它们。然后,在那个代理模式中,从相同或不同的项目中的任何资源中可以引用这些常量、函数或过程。如果您想要使用该技巧,请完全地限定该过程,或者包含一个设置限定符的 PATH 语句。必须在相同的 ESQL 文件中中对 PATH 语句进行编码,但不在任何 MODULE 中。

相关概念
消息流概述
消息映射概述
相关任务
开发消息流
正在开发 ESQL
相关参考
内置节点
ESQL 引用
CREATE FUNCTION 语句
CREATE MODULE 语句
CREATE PROCEDURE 语句
DECLARE 语句
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ak01110_