ESQL 过程

过程是没有返回值的子例程。它可以从调用程序中接受输入参数,并返回输出参数到调用程序。

过程与函数非常相似。过程和函数之间的主要区别是,过程没有返回值,而函数有返回值。因此,过程无法成为表达式的一部分,并且使用 CALL 语句进行调用。过程通常有输出参数

您可以在 ESQL 中实现过程(内部过程),或者作为数据库存储过程(外部过程)实现过程。ESQL 过程必须是单个 ESQL 语句,尽管那个语句可以是复合语句,例如 BEGIN END。您不能在 EVAL 语句或 EVAL 函数中定义过程。

定义过程时,赋给它一个名称。用不区分大小写的方式处理名称(即,使用与声明匹配的大写和小写字母的任意组合名称)。这与您用于声明模式、常量、变量和标签的名称相反,这些名称要区别大小写并且需要在声明时得到明确指定。

ESQL 表达式可以包括对另一个代理模式中的过程的引用(定义在相同或不同的相关项目 ESQL 文件中)。如果您想要使用该技巧,请完全地限定该过程,或者包含一个设置限定符的 PATH 语句。必须在相同的 ESQL 文件中中对 PATH 语句进行编码,而不在 MODULE 中。

外部数据库过程由关键字 EXTERNAL 和外部过程名称指示。尽管参数名称无需匹配,但该过程必须在数据库和代理中定义,并且用 EXTERNAL 关键字指定的名称与存储数据库过程的名称必须相同。ESQL 过程名称可以与其定义的外部名称不同。

任何数据库都不支持超负荷过程。(超负荷过程是指与同一数据库模式中拥有不同数目或类型参数的另一个过程具有相同名称的过程。)如果代理检测到过程已超负荷,则会报告异常。

支持存储过程的动态模式名称解析;当您定义过程时,您必须为模式指定通配符,ESQL 解析该过程的调用之前会解析该通配符。这在调用存储过程中有进一步的说明。

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