Postgresには、まさにその目的のための専用関数があります: <強い>array_fill()
:
使用する:
CREATE OR REPLACE FUNCTION teste()
RETURNS void AS
$func$
DECLARE
tarifas numeric[7][24] := array_fill(0, ARRAY[7,24]);
a int;
b int;
BEGIN
-- do something
END
$func$ LANGUAGE plpgsql;
メモ
numeric[7][24]
の配列次元 単なるドキュメントです。 マニュアル:
-
plpgsqlの代入演算子について:
:=
または=
: -
通常、配列要素に直接書き込むことはできません。要素を連結または追加/追加できます。または、配列全体を割り当てます。 詳細はマニュアルに記載されています。 しかし、このような発言は不可能 :
tarifas[%][%] = 0 -
配列のデフォルトの下限は0ではなく1です。ただし、任意の配列次元を定義できます。例:
SELECT '[2:3][2:4]={{7,7,7},{7,7,7}}'::int[]