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

secara dinamis meneruskan nama tabel di Oracle untuk loop

Anda dapat menggunakan kursor tipe REF CURSOR. Dari Oracle Doc:(berisi juga ikatan - Anda tidak memintanya...)

CREATE OR REPLACE PROCEDURE query_invoice(
       month VARCHAR2, 
       year VARCHAR2) IS
    TYPE cur_typ IS REF CURSOR;
    c cur_typ;
    query_str VARCHAR2(200);
    inv_num NUMBER;
    inv_cust VARCHAR2(20);
    inv_amt NUMBER;
BEGIN
    query_str := 'SELECT num, cust, amt FROM inv_' || month ||'_'|| year 
      || ' WHERE invnum = :id';
    OPEN c FOR query_str USING inv_num;
    LOOP
        FETCH c INTO inv_num, inv_cust, inv_amt;
        EXIT WHEN c%NOTFOUND;
        -- process row here
    END LOOP;
    CLOSE c;
END;
/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gunakan Alias ​​Kolom Dalam Kalkulasi Pernyataan Pilih Oracle SQL

  2. Bagaimana cara menangani null dalam pernyataan NOT IN dan NOT LIKE di Oracle?

  3. Memeriksa informasi Jaringan dan IP Oracle RAC

  4. kesalahan karakter tidak valid saat mengeksekusi langsung

  5. Mengkonsumsi layanan web dari Oracle PL/SQL