PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Kết hợp LOOP vào SQL

Vấn đề là gọi hàm với các đối số nhưng không chỉ định bất kỳ khi tạo hàm. Vì vậy, bạn cần một cái gì đó như (không được thử nghiệm):

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

Do lỗi, không rõ đối số thứ ba được cho là gì, vì vậy bạn sẽ được giải thích rõ.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để sử dụng vòng lặp SQL for để chèn các hàng vào cơ sở dữ liệu?

  2. Lỗi khi cố gắng cài đặt django-toolkit trong python virtualenv

  3. Tạo cơ sở dữ liệu PostgreSQL nhanh chóng bằng Hibernate ngay cả khi DB không tồn tại

  4. có cách nào để tránh gọi nextval () nếu chèn không thành công trong PostgreSQL?

  5. Không thể cài đặt pg gem trên Windows