次の2-D ARRAYデータ型およびテーブルについて考えてみましょう。
CREATE TYPE shot_ary AS VARRAY(1:50)(1:50) OF INTEGER; CREATE TABLE seismic_table ( id INTEGER, shots shot_ary);
テーブルには次の値が取り込まれます。
/* The first 2 elements are populated; the rest are uninitialized. */ INSERT INTO seismic_table VALUES (1, shot_ary(11, 12)); /* Empty ARRAY instance */ INSERT INTO seismic_table VALUES (2, shot_ary());
次の問合わせは、shots配列で最小の添字値を返します。
SELECT id, shots.OFIRST() FROM seismic_table;
問合わせの結果を次に示します。
ID shots.OFIRST() -- -------------- 1 NEW arrayVec(1,1) 2 NEW arrayVec(1,1)
次は、関数スタイルの構文を使用した同じ問合わせです。
SELECT id, OFIRST(shots) FROM seismic_table;