使用 DEFINE 语句声明 SPL 例程使用的本地变量,或声明可由几个 SPL 例程共享的全局变量。
DEFINE 语句不是可执行语句。DEFINE 语句必须出现在例程头之后,任何其它语句之前。如果声明一个局部变量(通过使用不带 GLOBAL 关键字的 DEFINE),则它的引用作用域是定义了此局部变量的语句块。您可以在该语句块中使用该变量。在语句块之外具有不同定义的另一个变量可有相同的名称。
具有 GLOBAL 关键字的变量在作用域中是全局的并且在语句块之外且对于其它 SPL 例程是可用的。全局变量可以是除 BIGSERIAL 、BLOB 、BYTE 、CLOB 、SERIAL 、SERIAL8 或 TEXT 之外的任何内置数据类型。本地变量可以是除 BIGSERIAL 、BYTE 、SERIAL 、SERIAL8 或 TEXT 之外的任何内置数据类型。如果 column 是 BIGSERIAL 、SERIAL 或 SERIAL8 数据类型,则声明 BIGINT 、INT 或 INT8 变量(分别地)以存储其值。