PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Включване на LOOP в SQL

Проблемът е извикването на функцията с аргументи, но без да се посочват такива при създаването на функцията. Така че имате нужда от нещо като (нетествано):

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

От грешката не става ясно какъв трябва да бъде третият аргумент, така че това ще бъде разяснение от вас.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо st_intersection връща не-многоъгълници?

  2. Как да изобразите едно към много релации към XML с PostgreSQL

  3. Намерете n най-близки съседи за дадена точка с помощта на PostGIS?

  4. Как да монтирате postgresql том с помощта на Aws EBS в Kubernete

  5. Мигриране от DB2 към PostgreSQL – какво трябва да знаете