1
我有這樣的代碼片段:如何在PostgreSql中克隆數組?
RAISE NOTICE 'p_new_roster: %', p_new_roster; --prints {3,4,5}
FOREACH i IN ARRAY p_new_roster
LOOP
RAISE NOTICE 'p_new_roster[i]: %', p_new_roster[i]; --prints 5,NULL,NULL (through 3 iterations)
v_new_users := v_new_users || p_new_roster[i];
END LOOP;
爲什麼p_new_roster [1]爲5,p_new_roster [2]是NULL等?變量i被聲明爲整數,數組聲明爲integer []。
基本上我想要做的是克隆'p_new_roster'數組。如果有人知道更好的辦法,我想知道如何。
PostgreSQL的陣列是不可變的數組元素的值。你爲什麼要「克隆」它?只是'v_new_users = p_new_roster'。你要做的這個實際問題是什麼,爲什麼你要問這裏的「怎麼樣」? –
我有兩個數組: arr1 = {1,2,3}和arr2 = {3,4,5}(這只是示例)。 我需要函數比較這兩個數組,並返回一列{1,2}和第二{4,5}(我會把結果放在複合類型中)。 – anagarD
如果我做了v_new_users:= p_new_roster,那麼我對v_new_users所做的更改也會在p_new_roster中看到?我需要p_new_roster供以後使用。 – anagarD