nic*_*owi 2 sql db2 rpgle db2-400
我的代码:
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;
Run Code Online (Sandbox Code Playgroud)
我只需要最大数量的游标 - 所以ORDER BY DESC.
如何只获取光标C1的第一行?
EXEC SQL
FETCH C1 INTO :a;
Run Code Online (Sandbox Code Playgroud)
只获取一行...所以只需执行一次.
但是,如果您知道只需要1行,那么最好使用SELECT INTO
withFETCH 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;
Run Code Online (Sandbox Code Playgroud)