为什么数组追加不起作用+ Postgres
Why does array append does not work + Postgres
尝试将数组追加到数组似乎不起作用。
DO
$do$
DECLARE
COUNTER INTEGER = 0;
CRNS bigint [];
TMPS bigint [];
BEGIN
WHILE COUNTER < 2 LOOP
TMPS := ARRAY(select plain_crn from call_records where timestamp=1467981702966);
array_append(CRNS,TMPS);
RAISE NOTICE '%',CRNS;
COUNTER := COUNTER + 1;
END LOOP;
END
$do$;
好像得到以下错误
ERROR: function array_append(bigint[], bigint[]) does not exist
LINE 1: SELECT array_append(CRNS,TMPS)
^
函数array_append()
将一个元素追加到数组中。您应该使用运算符 ||
连接两个数组。
DO
$do$
DECLARE
COUNTER INTEGER = 0;
CRNS bigint [];
BEGIN
WHILE COUNTER < 2 LOOP
CRNS := CRNS || ARRAY(select plain_crn from call_records where timestamp=1467981702966);
RAISE NOTICE '%',CRNS;
COUNTER := COUNTER + 1;
END LOOP;
END
$do$;
尝试将数组追加到数组似乎不起作用。
DO
$do$
DECLARE
COUNTER INTEGER = 0;
CRNS bigint [];
TMPS bigint [];
BEGIN
WHILE COUNTER < 2 LOOP
TMPS := ARRAY(select plain_crn from call_records where timestamp=1467981702966);
array_append(CRNS,TMPS);
RAISE NOTICE '%',CRNS;
COUNTER := COUNTER + 1;
END LOOP;
END
$do$;
好像得到以下错误
ERROR: function array_append(bigint[], bigint[]) does not exist
LINE 1: SELECT array_append(CRNS,TMPS)
^
函数array_append()
将一个元素追加到数组中。您应该使用运算符 ||
连接两个数组。
DO
$do$
DECLARE
COUNTER INTEGER = 0;
CRNS bigint [];
BEGIN
WHILE COUNTER < 2 LOOP
CRNS := CRNS || ARRAY(select plain_crn from call_records where timestamp=1467981702966);
RAISE NOTICE '%',CRNS;
COUNTER := COUNTER + 1;
END LOOP;
END
$do$;