sql >> Databáze >  >> RDS >> PostgreSQL

přístup k prvkům kompozitního pole plpgsql

Levé výrazy musí být v PLpgSQL docela jednoduché. Kombinace pole a složeného typu není podporována. Měli byste nastavit hodnotu složeného typu a pak tuto hodnotu přiřadit poli.

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;

Existuje možná zkratka:

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. Jak povolit aktualizaci výsledků pohledu v Oracle?

  2. Jasperova zpráva:nelze získat hodnotu pro pole 'x' třídy 'org.postgresql.util.PGmoney'

  3. Jak odstranit z výběru v MySQL?

  4. Jak se připojit k prvkům pole jsonb v Postgres?