SPL 函数

SPL函数是用存储过程语言(SPL)编写的 UDR ,且不会返回一个值。要编写并注册 SPL 例程,请使用 CREATE PROCEDURE 语句。在 CREATE PROCEDURE 和 END PROCEDURE 关键字之间嵌入适当的 SQL 和 SPL 语句。还可以将 DOCUMENT 和 WITH FILE IN 选项放在该函数后面。

分析 SPL 例程,(尽可能)优化例程,并以可执行文件的形式存储在系统目录表中。SPL 函数的主题存储在 sysprocbody 系统目录表中。关于函数的其他信息存储在其它系统目录表中,包括 sysproceduressysprocplansysprocauth

如果 CREATE PROCEDURE 语句的 Statement Block 部分为空,则当调用函数时,没有操作发生。当您试图建立未编码的过程,可能在开发阶段使用如“虚拟”过程。

如果在参数列表后面指定了可选子句,则您必须在此子句之后紧邻 Statement Block 之前加上分号。

以下示例创建了 SPL 函数:
CREATE PROCEDURE raise_prices ( per_cent INT )
      UPDATE stock SET unit_price =
      unit_price + (unit_price * (per_cent/100));
      END PROCEDURE
      DOCUMENT "USAGE: EXECUTE PROCEDURE raise_prices( xxx )",
      "xxx = percentage from 1 - 100 "
      WITH LISTING IN '/tmp/warn_file';