次の1次元のARRAYデータ型およびテーブルについて考えてみましょう。
CREATE TYPE phonenumbers AS CHAR(10) ARRAY[20]; CREATE TABLE employee_info (eno INTEGER, phonelist phonenumbers);
次の問合わせは、すべての構成要素が新しい値に更新されたphonelist配列の更新後のコピーを返します。
SELECT ARRAY_UPDATE(phonelist, '9095551234') FROM employee_info;
次の問合わせは、適用範囲の参照で指定したように、構成要素のサブセットが新しい値に更新されたphonelist配列の更新後のコピーを返します。その結果、構成要素2、3、および4は新しい値に更新されます。配列内の残りの構成要素は元の値のままです。
SELECT ARRAY_UPDATE(phonelist, '9095551234', 2, 4) FROM employee_info;
次は、メソッドスタイルの構文を使用した同じ問合わせです。
SELECT phonelist.ARRAY_UPDATE('9095551234', 2, 4) FROM employee_info;