sql >> Database >  >> RDS >> PostgreSQL

Een LOOP opnemen in een SQL

Het probleem is dat de functie wordt aangeroepen met argumenten, maar er geen wordt opgegeven bij het maken van de functie. Dus je hebt iets nodig als (niet getest):

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
$$;

Uit de fout is niet duidelijk wat het derde argument zou moeten zijn, dus dat zal verduidelijking van u zijn.




  1. Pooling van Postgresql-verbindingen in Erlang

  2. Hoe stel ik codering in in een NpgsqlConnection

  3. bel extern script met mySQL-trigger WHITOUT sys_exec op ubuntu ARMHF

  4. Postgresql-update met join