ILE RPG静态SQL获取游标的第一行

ILE RPG静态SQL获取游标的第一行,sql,db2,db2-400,rpgle,Sql,Db2,Db2 400,Rpgle,我的代码: EXEC SQL DECLARE C1 CURSOR FOR SELECT * FROM a WHERE :field LIKE CONCAT(TRIM(a.number), '%') ORDER BY a.number DESC; EXEC SQL OPEN C1; EXEC SQL FETCH C1 INTO :a; 我只需要光标的最大数目-因此按DESC排序 如何仅获取光标C1的第一

我的代码:

     EXEC SQL
     DECLARE C1 CURSOR
     FOR SELECT * FROM a
     WHERE :field LIKE CONCAT(TRIM(a.number), '%')
     ORDER BY a.number DESC;

     EXEC SQL
     OPEN C1;

     EXEC SQL
     FETCH C1 INTO :a;
我只需要光标的最大数目-因此按DESC排序

如何仅获取光标C1的第一行

 EXEC SQL
     FETCH C1 INTO :a;
只获取一行…所以只执行一次

但是,如果您知道只需要一行,那么最好使用
选择进入
仅获取第一行

exec sql
  SELECT * 
    FROM a
    INTO :a
   WHERE :field LIKE CONCAT(TRIM(a.number), '%')
   ORDER BY a.number DESC
   FETCH FIRST ROW ONLY;

非常感谢!它工作得非常完美,代码也更加智能,易于阅读。