Masalahnya adalah memanggil fungsi dengan argumen tetapi tidak menentukan apa pun saat membuat fungsi. Jadi, Anda memerlukan sesuatu seperti (tidak diuji):
CREATE FUNCTION "UpdatePMPM"(nbr_mem_months integer, effectivdate date, some_arg varchar) RETURNS void
LANGUAGE plpgsql
AS
$$
DECLARE
ym varchar := to_char(effectivedate,'YYYYMM');
BEGIN
FOR r IN 1..nbr_mem_months LOOP
UPDATE elan.pmpm set mbrmonths = mbrmonths+1 where yyyyymm = ym;
effectivedate = effectivedate + interval '1 month';
ym=to_char(effectivedate,'YYYYMM');
END LOOP;
RETURN;
END
$$;
Dari kesalahan tersebut tidak jelas apa argumen ketiga yang seharusnya, sehingga akan klarifikasi dari Anda.