इसे प्राप्त करने के लिए आपको गतिशील SQL का उपयोग करने की आवश्यकता है; कुछ इस तरह:
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;
/
संपादित दो त्रुटियों को ठीक करने के लिए, और OPEN-FOR
और एक उदाहरण
.संपादित आंतरिक कर्सर क्वेरी को एक स्ट्रिंग चर बनाने के लिए।