Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách sử dụng một biến từ con trỏ trong câu lệnh select của con trỏ khác trong pl / sql

Bạn cần sử dụng SQL động để đạt được điều này; một cái gì đó như:

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;
/

Đã chỉnh sửa để sửa hai lỗi và thêm liên kết vào tài liệu 10g cho OPEN-FOR ví dụ . Đã chỉnh sửa để đặt truy vấn con trỏ bên trong thành một biến chuỗi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo trình kích hoạt trình tự Oracle

  2. Tra cứu LDAP bằng ODP.NET, Managed Driver Beta (Oracle.ManagedDataAccess.dll) không thành công trong ứng dụng C #

  3. oracle sql plus spool

  4. Trường Oracle to SQL2005 DATETIME tràn trong SSIS

  5. Địa chỉ IP được lưu trữ dưới dạng số thập phân - PL / SQL để hiển thị dưới dạng dấu chấm tứ