从 SPL 例程执行游标函数

游标函数是返回一行或多行数据的用户定义的函数,因此需要游标来执行。游标函数可为系列函数之一:
  • 其 RETURN 语句包括 WITH RESUME 的 SPL 函数
  • 定义作为迭代函数的外部函数

游标函数的行为与 SPL 函数或外部函数都一样。然而,SPL 游标函数每迭代可返回多个值,而外部游标函数(迭代函数)每迭代仅可返回一个值。

要从 SPL 例程执行游标函数,您必须在 SPL 例程的 FOREACH 循环中包括该函数。下列示例展示在 FOREACH 循环中执行游标函数的不同方式:
FOREACH SELECT cur_func1(col_name) INTO spl_var FROM tab1
          INSERT INTO tab2 VALUES (spl_var);
          END FOREACH
          
          FOREACH EXECUTE FUNCTION cur_func2() INTO spl_var
          INSERT INTO tab2 VALUES (spl_var);
          END FOREACH