PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

dostęp do złożonych elementów tablicy plpgsql

Wyrażenia po lewej stronie muszą być całkiem proste w PLpgSQL. Kombinacja typu tablicowego i złożonego nie jest obsługiwana. Powinieneś ustawić wartość typu kompozytowego, a następnie tę wartość przypisać do tablicy.

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;

Możliwy jest skrót:

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. Żółw ORM dla Pythona nie zwraca relacji encji (Pyndantic, FastAPI)

  2. heroku Błąd Postgres - operator nie istnieje znacznik czasu bez strefy czasowej =liczba całkowita

  3. Czy PLV8 obsługuje wykonywanie połączeń http do innych serwerów?

  4. Możliwe wyjaśnienie dotyczące Z REKURSIVE Query Postgres

  5. Usuwanie z wielu do wielu SQL-Alchemy i Postgresql