Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Iterasi kolom di PL/SQL

Cara paling sederhana untuk mengulangi baris dalam tabel di PL/SQL adalah dengan melakukan sesuatu seperti

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

Sebagai alternatif, Anda dapat mengambil semua nilai EID ke dalam koleksi PL/SQL dan mengulangi koleksi tersebut, seperti dalam contoh ini

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;

Namun, jika kueri Anda dapat mengembalikan ribuan baris, mengambil semua data ke dalam koleksi dapat menggunakan lebih banyak memori PGA daripada yang Anda inginkan dan Anda mungkin perlu mengambil baris dalam potongan menggunakan klausa LIMIT. Tapi itu tampaknya akan terlalu cepat pada saat ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jumlah Catatan dalam Pernyataan Sisipkan (Oracle)

  2. Mengembalikan nilai kolom identitas setelah penyisipan di Oracle

  3. Cari tahu nama prosedur PL/SQL

  4. Cara mengubah baris menjadi kolom di tabel Oracle

  5. Menambahkan jenis file untuk dikenali oleh Files.probeContentType(new File(.ttf).toPath());