sql >> Database >  >> RDS >> Oracle

Herhaal een kolom in PL/SQL

De eenvoudigste manier om de rijen in een tabel in PL/SQL te herhalen, is door iets te doen als

BEGIN
  FOR employees IN (SELECT emp_id FROM emp)
  LOOP
    dbms_output.put_line( employees.emp_id );
  END LOOP;
END;

Als alternatief kunt u alle EID-waarden in een PL/SQL-verzameling ophalen en de verzameling herhalen, zoals in dit voorbeeld

DECLARE
  TYPE emp_id_tbl IS TABLE OF emp.emp_id%type;
  l_emp_ids emp_id_tbl ;
BEGIN
  SELECT emp_id
    BULK COLLECT INTO l_emp_ids 
    FROM emp;

  FOR i IN l_emp_ids .FIRST .. l_empnos.LAST
  LOOP
    dbms_output.put_line( l_emp_ids (i) );
  END LOOP;
END;

Als uw query echter duizenden rijen kan retourneren, kan het ophalen van alle gegevens in de verzameling meer van het PGA-geheugen gebruiken dan u zou willen en moet u mogelijk rijen in brokken ophalen met behulp van de LIMIT-component. Maar dat lijkt op dit punt op de zaken vooruit te lopen.



  1. Mijn SQL-fout:een verbindingspoging is mislukt omdat de aangesloten partij niet correct heeft gereageerd

  2. Hoe kan ik de standaardwaarde van een tijdstempelkolom instellen op de huidige tijdstempel met Laravel-migraties?

  3. Cumulatief optellen met dynamische basis in Postgres

  4. MySQL retourneert de eerste rij van een samengevoegde tabel