通过使用关键字 ARRAY 声明类型为 ARRAY 的变量。
DECLARE ARRAY; 您可以使用元素类型
::=
DATE | TIME| TIMESTAMP | SECONDDATE | TINYINT | SMALLINT | INTEGER | BIGINT | DECIMAL | SMALLDECIMAL | REAL | DOUBLE | VARCHAR | NVARCHAR | VARBINARY | CLOB | NCLOB |BLOB
您可以按如下方式声明类型 INTEGER 的 arr 数组:
DECLARE arr INTEGER ARRAY;仅支持最大基数为 2147483646(介于 1 和 2^31 -2 ([1-2147483646]) 之间)的无界数组。不能为数组定义静态大小。
可以使用数组构造函数直接为数组指派一组值。
DECLARE [{, }...] ARRAY = ARRAY ( [{, }...] );
!!= An array element of the type specified by
数组构造函数返回包含值表达式列表中指定的元素的数组。以下示例说明了包含数字 1、2 和 3 的数组构造函数:
DECLARE array_int INTEGER ARRAY = ARRAY(1, 2, 3);除了使用标量常量外,您还可以改用标量变量或参数,如下一示例所示。
CREATE PROCEDURE ARRAYPROC (IN a NVARCHAR(20), IN b NVARCHAR(20))
AS
BEGIN
DECLARE arrayNvarchar NVARCHAR(20) ARRAY;
arrayNvarchar = ARRAY(:a,:b);
END;
备注请注意,不能使用 TEXT 或 SHORTTEXT 作为数组类型。