声明本地变量

本地变量有其引用作用域,在该作用域中声明例程。如果省略 GLOBAL 关键字,则在 DEFINE 语句中声明的任何变量都是本地变量,并且在其它 SPL 例程中不可见。

出于此原因,声明相同名称的本地变量的不同 SPL 例程可在同一 DB-Access 或 SQL 管理 API 会话中运行而无冲突。

如果本地变量和全局变量具有相同的名称,那么全局变量在声明了本地变量的 SPL 例程中不可见。(在所有其它 SPL 例程中,只有全局变量在作用域中。)

语法:
元素 描述 限制 语法
column 列名 必须已经存在于 tableview 标识符;
data_type SPL_var 的类型 不能是 BIGSERIAL 、BYTE 、SERIAL 、SERIAL8 或 TEXT 数据类型
distinct_type Distinct 类型 必须已经在数据库中定义 标识符
opaque_type Opaque 类型 必须已经在数据库中定义 标识符
SPL_var 新的 SPL 变量 在语句块中必须是唯一的 标识符;
synonym, table, view 表、视图或同义词的名称 当发出此语句时它所指向的同义词和表或视图必须存在 数据库对象名
本地变量不支持缺省值。以下示例显示本地变量的典型定义:
CREATE PROCEDURE def_ex()
        DEFINE i INT;
        DEFINE word CHAR(15);
        DEFINE b_day DATE;
        DEFINE c_name LIKE customer.fname;
        DEFINE b_text REFERENCES TEXT;
        END PROCEDURE
1 请参阅 复杂数据类型的子集