----start
DB2 从 9.5 开始支持数组。可以在存储过程和应用程序中使用数组,但不能在定义表的时候使用数组。
一:定义数组
例子:
CREATE TYPE nar as INTEGER ARRAY[100];
CREATE TYPE mynames as VARCHAR(30) ARRAY[];
二:声明数组
--例子:
DECLARE mynumber nar;
DECLARE nameArr mynames;
三:赋值
四:操作数组的函数
五:示例
--定义数组
CREATE TYPE INTARRAY AS INTEGER ARRAY[10]!
--创建存储过程
CREATE PROCEDURE TEST ()
BEGIN
--声明数组
DECLARE TESTARR INTARRAY;
--赋值方式1
SET TESTARR=ARRAY[1,2,3,4,5,6,7,8,9,10];
--赋值方式2
SET TESTARR=ARRAY[VALUES (1),(2)];
--赋值方式3
VALUES 1 INTO TESTARR[1];
VALUES 2 INTO TESTARR[2];
--赋值方式4
SET TESTARR[1] =1;
--赋值方式5
SELECT SUM(NUM) INTO TESTARR[1] FROM (VALUES (1),(2)) AS TEMP(NUM);
END!
--调用存储过程
CALL TEST()!
--删除存储过程
DROP PROCEDURE TEST!
--关闭连接
CONNECT RESET!
六:调用
----更多参见:SQL PL 精萃
----声明:转载请注明出处。
----last updated on 2010.2.2
----written by ShangBo on 2010.1.19
----end