2015-12-17 111 views
1

我需要在postgresql中追加一個項目到已存在的數組中。 我寫了這個代碼(PLPGSQL功能):array_append函數不起作用

perform array_append (arrayA::integer[],id); 

因爲它沒有工作,我想:

raise notice '%', arrayA; 
perform array_append (arrayA::integer[],id); 
raise notice '%', arrayA; 

它提供:

NOTICE: <NULL> 
NOTICE: <NULL> 

爲什麼不更新數組?

+1

'v_arraya:= arraya || (或者是v_array:= array_append(arraya,id);'(假設變量'arrraya **是**確實是一個數組 –

回答

2

PERFORM查詢丟棄結果。 array_append不會更新您在第一個參數中指定的數組。它只讀取它的值。

您應該更改您的代碼:

select array_append (arrayA::integer[],id) into v_arrayA; 
+1

select是沒有必要的,你可以將結果賦給變量。 –