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

Cara menggunakan variabel dari kursor dalam pernyataan pilih kursor lain di pl/sql

Anda perlu menggunakan SQL dinamis untuk mencapai ini; sesuatu seperti:

DECLARE
    TYPE cur_type IS REF CURSOR;

    CURSOR client_cur IS
        SELECT DISTING username
        FROM all_users
        WHERE length(username) = 3;

    emails_cur cur_type;
    l_cur_string VARCHAR2(128);
    l_email_id <type>;
    l_name <type>;
BEGIN
    FOR client IN client_cur LOOP
        dbms_output.put_line('Client is '|| client.username);
        l_cur_string := 'SELECT id, name FROM '
            || client.username || '.org';
        OPEN emails_cur FOR l_cur_string;
        LOOP
            FETCH emails_cur INTO l_email_id, l_name;
            EXIT WHEN emails_cur%NOTFOUND;
            dbms_output.put_line('Org id is ' || l_email_id
                || ' org name ' || l_name);
        END LOOP;
        CLOSE emails_cur;
    END LOOP;
END;
/

Diedit untuk memperbaiki dua kesalahan, dan untuk menambahkan tautan ke dokumentasi 10g untuk OPEN-FOR dan contoh .Diedit untuk membuat kueri kursor dalam sebagai variabel string.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengekspor data yang diuraikan dari Python ke tabel Oracle di SQL Developer?

  2. buat fungsi khusus untuk perbedaan tanggal tidak termasuk akhir pekan dan hari libur di Oracle sql

  3. Memicu kesalahan clob memperbarui

  4. Metode Pengumpulan:Fungsi EXISTS Di Oracle Database

  5. NHibernate - tidak dapat menemukan dialek (Oracle) dalam konfigurasi