sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL svarende til Oracle bulk collect

I PostgreSQL 10 kan du bruge array_agg :

declare
    v_ids int[];   
begin
    select array_agg(id) INTO v_ids
      from mytable1
     where host = p_host;

    --use v_ids...

end;

Du har et array, og det kan bruges til at vælge fra det ved hjælp af unnest :

select * from unnest(v_ids) where ...


  1. opdatering af tabelrækker i postgres ved hjælp af underforespørgsel

  2. Maksimalt (anvendeligt) antal rækker i en Postgresql-tabel

  3. Hvordan make_interval() virker i PostgreSQL

  4. Sådan får du maks. og min. værdier fra en tabel ved hjælp af aggregeret funktion - SQL Server / TSQL vejledning del 129