如果使用 WITH RESUME 关键字,则在执行 RETURN 语句后,SPL 函数的下一个调用(对下一个 FETCH 或 FOREACH 语句)从跟随 RETURN 语句的语句开始。任何执行 RETURN WITH RESUME 语句的函数必须在 FOREACH 循环或 SELECT 的 FROM 子句中被调用。如果 SPL 例程执行 RETURN WITH RESUME 语句,则 GBase 8s ESQL/C 应用程序中的 FETCH 语句可以调用 SPL 例程。
CREATE FUNCTION series (limit INT, backwards INT) RETURNING INT; DEFINE i INT; FOR i IN (1 TO limit) RETURN i WITH RESUME; END FOR; IF backwards = 0 THEN RETURN; END IF; FOR i IN (limit TO 1 STEP -1) RETURN i WITH RESUME; END FOR; END FUNCTION; -- series