我想运行查询,获取结果,然后使用第二个语句(游标)中第一个语句的值,使用另一个select语句迭代该查询的结果.
我的数据库中有40个用户.所有用户都具有相同的数据库架构结构.我想通过以下方式获取用户名:
SELECT distinct username
from all_users
Run Code Online (Sandbox Code Playgroud)
然后使用用户名运行如下查询:
Select lastname, firstname, email, email2 from username.member.
Run Code Online (Sandbox Code Playgroud)
我的结果集将返回多行,所以我也需要一个行类型.
我尝试了很多不同的pl/sql组合:
DECLARE
CURSOR client_cur IS
SELECT distinct username
from all_users
where length(username) = 3;
-- client cursor
CURSOR emails_cur (cli all_users.username%TYPE) IS
SELECT id, name
FROM cli.org;
BEGIN
FOR client IN client_cur LOOP
dbms_output.put_line('Client is '|| client.username);
FOR email_rec in client_cur(client.username) LOOP
dbms_output.put_line('Org id is ' ||email_rec.id || ' org nam ' || email_rec.name);
END LOOP;
END LOOP;
END;
/
Run Code Online (Sandbox Code Playgroud)
和
DECLARE
CURSOR c1 …Run Code Online (Sandbox Code Playgroud)