声明集合变量

为了保持从数据库访存的集合,变量必须为类型 SET、MULTISET 或 LIST。
重要: 必须将集合变量定义为本地变量。您不可将集合变量定义为全局变量。
SET、MULTISET 或 LIST 类型的变量是保存在 DEFINE 语句中命名的类型的集合的集合变量。下图展示如何定义 typed 集合变量。

图: 定义 typed 集合变量。

DEFINE a SET ( INT NOT NULL );
            
            DEFINE b MULTISET ( ROW (  b1 INT,
            b2 CHAR(50),
            )  NOT NULL );
            
            DEFINE c LIST ( SET (DECIMAL NOT NULL) NOT NULL);

您必须始终将集合变量的元素定义为 NOT NULL。在此示例中,定义变量 a 来保存非 NULL 整数的 SET;变量 b 保存非 NULL row 类型的 MULTISET;变量 c 保存非 NULL 十进制值的非 NULL 集合的 LIST。

在变量定义中,您可在任何组合或深度中嵌套复合的类型,来与存储在您的数据库中的数据类型相匹配。

您不可将一种类型的集合变量分配给另一类型的集合变量。例如,如果您将集合变量定义为 SET,则您不可将另一 MULTISET 或 LIST 类型的集合变量分配给它。