您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

声明类型为 ARRAY 的变量

通过使用关键字 ARRAY 声明类型为 ARRAY 的变量。

DECLARE   ARRAY;

您可以使用元素类型 声明数组 。支持以下 SQL 类型:

 ::= 

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 作为数组类型。