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

Bagaimana cara menyimpan hasil seleksi ke variabel dalam prosedur Oracle

Anda memiliki beberapa pilihan. Anda dapat mengubah kueri itu menjadi kursor:

DECLARE
     CURSOR v_employeeRecords IS
          SELECT * FROM Employee WHERE Salary > 10;
     v_employeeRecord  employee%ROWTYPE;
BEGIN
     FOR v_employeeRecord IN v_employeeRecords LOOP
          /* Do something with v_employeeRecord */
     END LOOP;
END;

Atau, Anda dapat membuat TABLE variabel:

DECLARE
     v_employeeRecord  employee%ROWTYPE;
     v_employeeRecords IS TABLE OF employee%ROWTYPE;
     i BINARY_INTEGER;
BEGIN
 SELECT * BULK COLLECT INTO v_employeeRecords
      FROM Employee WHERE Salary > 10;

 i := v_employeeRecords.FIRST;
 WHILE v_employeeRecords.EXISTS(i) LOOP
     v_employeeRecord := v_employeeRecords(i);
     /* Do something with v_employeeRecord */
     i := v_employeeRecords.NEXT(i);
 END;
END;

Saya belum mencoba sampel ini di Oracle, jadi Anda mungkin mendapatkan kesalahan kompiler...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah versi akses data Oracle

  2. Prosedur Tersimpan-Pengembang SQL

  3. Mengekstrak baris dari DB termasuk baris dependen

  4. Bagaimana cara menghapus Mesin Virtual dari VirtualBox

  5. Bagaimana cara mengonversi SDO_GEOMTRY di GeoJSON