例如,一个表##TAB有一个列#VALUE,其中包含'SDM'和'LB'作为条目。列的大小是12个字符。我想使用固定格式的RPG查询该表,然后在IF条件下进行比较。逻辑很简单,但我不确定语法。
如果它是自由格式,我可以简单地将记录放入游标中,在循环中获取数据,并在获得匹配的记录后离开。但是,我不确定是否可以使用固定格式的SQL,否则我将不得不做一个链(仍然不知道语法)。
exec sql
Declare C1 cursor for
Select #VALUE from ##TAB;
exec sql
Open C1;
Dou sqlcod <> 0;
exec sql
Fetch C1 INTO :valueRes;
If (valueRes <> userVal); // userVal is what we get from user
Leave; //or set some flag to 0 to indicate
Endif;
Enddo;
exec sql
Close C1;
或者我们可以通过一个子例程来完成,并返回true/false或1/0来指示是否找到了记录。
在发布答案时,请同时包含变量声明。
1条答案
按热度按时间8i9zcol21#
你可以用固定的格式执行SQL语句。首先用C/EXEC SQL(从第6列开始),然后用C+表示所有的续行,最后用C/END-EXEC结束。而且结尾处没有分号。