PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

mengakses elemen array komposit plpgsql

Ekspresi kiri harus cukup sederhana di PLpgSQL. Kombinasi array dan tipe komposit tidak didukung. Anda harus menetapkan nilai tipe komposit, dan kemudian nilai ini ditetapkan ke array.

CREATE OR REPLACE FUNCTION playx(OUT mod playz[]) AS $$
DECLARE r playz;
BEGIN
  FOR i in 1..5 LOOP
    r.a = 1;
    r.b = 12.2;
    r.c = 1;
    r.d = 0.02;
    mod[i] = r;
  END LOOP;
END;
$$ LANGUAGE plpgsql;

Ada kemungkinan jalan pintas:

CREATE OR REPLACE FUNCTION public.playx(OUT mod playz[])
LANGUAGE plpgsql
AS $function$
BEGIN
  FOR i in 1..5 LOOP
    mod[i] = ROW(1, 12.2, 1, 0.02);
  END LOOP;
END;
$function$;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan perintah postgres 'nth_value' yang setara di pyspark Hive SQL?

  2. Bagaimana cara menghitung jumlah kumulatif dari bawah ke atas?

  3. Postgresql, pilih bidang kosong

  4. Hapus pasangan Nilai Kunci dari array bersarang jsonb di postgresql

  5. Koki dan postgres; bagaimana cara menentukan kata sandi?