我想遍历规则中的对象列表,并使用循环中的 if 语句检查每个对象上的一些条件,这可能吗?
已经尝试了 for 循环,但它不允许在其中包含 if 语句。
这不仅是可能的,而且很常见。 只需使用 DEFINITION 子句将变量绑定到列表中的每个元素即可。 迭代是隐含的。
定义
在<列表中将><变量>设置为<定义>>定义>变量>列表中将>
;使用第二个 SET 语句和另一个列表将生成嵌套循环。 可以在 IF 语句中或通过向 SET 语句添加 WHERE 子句来检查对象的条件。
以下是知识中心页面之一的链接:https://www.ibm.com/support/knowledgecenter/en/SSQP76_8.9.2/com.ibm.odm.itoa.ref/topics/ref_bal_set_var_to_def.html
相比之下,FOR EACH 循环用于规则的操作 -- 在满足所有条件之后。在适当的时候使用它并没有错,但它的使用并不常见。
定义:
make 'varialbe' be any in collection ;
如果
"condition"
然后
something
还:
other
对不起,语法。我没有使用英文版的ODM,但我想你明白了。它适用于表和规则。