所以,假设一个表##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来指示是否找到了记录。
在发布答案时,请同时包含变量声明。
您可以以固定格式执行EXEC SQL。将C/EXEC SQL放在第一位(从第6列开始(,然后将C++放在所有续行中,然后以C/end-EXEC结束。结尾没有分号。
C/exec sql
C+ Declare C1 cursor for
C+ Select #VALUE from ##TAB
C/end-exec