使用 NZPLSQL 编写的例程

除使用 SQL PL 语言以外,还可以使用 NZPLSQL 语言。

SQL PL 是可用于编写例程的过程化编程语言。 NZPLSQL 是类似于 Postgres PL/pgSQL 的另一种过程化编程语言,由 Netezza Platform Software (NPS) 使用。 NZPLSQL 语句和语法 描述 NZPLSQL 及其结构。

创建例程时,编译该例程的过程取决于 SQL_COMPAT 全局变量的设置:
  • 如果 SQL_COMPAT='NPS',那么该例程将发送到 NZPLSQL 交叉编译器,以便从 NZPLSQL 转换为 SQL PL,然后再发送到 SQL PL 编译器。 如果例程是使用 SQL PL 编写的,那么交叉编译器通常会意识到这一点,并且不会在将该例程发送到 SQL PL 编译器之前尝试对其进行转换。 但是,交叉编译器可能会将 SQL PL 代码错认为 NZPLSQL 代码而尝试对其进行转换,并且转换失败,因此建议您在 NPS 兼容性方式下操作时不要提交使用 SQL PL 编写的例程。
  • 否则,该例程将直接发送到 SQL PL 编译器。 使用 NZPLSQL(或任何其他语言)编写的例程几乎一定会导致发生语法错误。