次の形式のテーブルがあります。
id
id_ref
value1
value2
...
valueN
ここで、value1->N は整数フィールドであり、どのフィールドを更新する必要があるかを指定する整数パラメーター「value」を受け取る関数です。つまり、「value」パラメーターが 2 の場合、value2 フィールドのみが更新されます。
私が(関数で)やりたいことは、次のようなものです:
CREATE OR REPLACE FUNCTION my_cool_function(value integer) RETURNS bigint AS
...
UPDATE [table name here]
SET "value" || CAST(value[parameter] AS varchar) = [some value]
WHERE [condition];
...
LANGUAGE 'plpgsql'
...
しかし、上記のコードは正しくなく、これを達成する方法を探しています。