Consider the following 2-D ARRAY data type and table.
CREATE TYPE shot_ary AS INTEGER ARRAY[1:50][1:50]; CREATE TABLE seismic_data ( id INTEGER, shot1 shot_ary, shot2 shot_ary);
The following query returns an updated copy of the shot1 array, with all the elements updated to the new value.
SELECT ARRAY_UPDATE(shot1, 0) FROM seismic_data;
The following query returns an updated copy of the shot1 array, with a subset of the elements updated to the new value, as specified by the scope reference. The result is that the elements in the scope reference range [5:10][5:10] are updated to the new value. The rest of the elements in the array retain their original values.
SELECT ARRAY_UPDATE(shot1, 0, NEW arrayVec(5,5), NEW arrayVec(10,10)) FROM seismic_data;