我在这里尝试执行数组连接,使用的代码如下所示:
--CONCATENATE TWO ARRAYS
CREATEPROCEDURE"keerthi"."ARRAY_COMPLEX_CONCAT3"
(OUT OUTTAB TABLE (SEQ INT,ID INT))
LANGUAGE SQLSCRIPT AS BEGIN
DECLARE id1,id2,id3,id4 , id5 INTEGER ARRAY;
id1[1] := 1;
id1[2]:=2;
id2[1] := 1;
id2[2]:=4;
id3 := CONCAT(:id1, :id2);
id4 := :id1 || :id2;
rst = UNNEST(:id3) WITH ORDINALITY AS ("ID","SEQ");
id5 := :id4 || ARRAY_AGG(:rst."ID"ORDERBY"SEQ");
outtab = SELECT SEQ,ID FROM :rst ORDERBY "SEQ";
END;
该过程已成功执行,但结果不是我期望的:
| Seq | Id |
--------------
| 1 | 1 |
| 2 | 2 |
| 3 | 1 |
| 4 | 4 |
我期望的结果是:
| Seq | Id |
--------------
| 1 | 1,2 |
| 2 | 1,4 |
ARRAY_AGG
函数不会像预期的结果所示那样“聚合并分组数组单元格的值”。