Har*_*ora -1 db2 rpg rpgle ibm-midrange rational-developer-for-i
因此,假设表 ##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;
Run Code Online (Sandbox Code Playgroud)
或者我们可以通过子例程来完成,并返回 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
Run Code Online (Sandbox Code Playgroud)