ILE RPG Static SQL 获取游标的第一行
ILE RPG Static SQL Fetch first row of a cursor
我的代码:
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;
我只需要游标的最高编号 - 所以 ORDER BY DESC。
如何只获取游标 C1 的第一行?
EXEC SQL
FETCH C1 INTO :a;
只获取一行...所以只执行一次。
但是,如果您知道只需要 1 行,则最好将 SELECT INTO
与 FETCH FIRST ROW ONLY
一起使用
exec sql
SELECT *
FROM a
INTO :a
WHERE :field LIKE CONCAT(TRIM(a.number), '%')
ORDER BY a.number DESC
FETCH FIRST ROW ONLY;
我的代码:
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;
我只需要游标的最高编号 - 所以 ORDER BY DESC。
如何只获取游标 C1 的第一行?
EXEC SQL
FETCH C1 INTO :a;
只获取一行...所以只执行一次。
但是,如果您知道只需要 1 行,则最好将 SELECT INTO
与 FETCH FIRST ROW ONLY
一起使用
exec sql
SELECT *
FROM a
INTO :a
WHERE :field LIKE CONCAT(TRIM(a.number), '%')
ORDER BY a.number DESC
FETCH FIRST ROW ONLY;