我在oracle
中获得了这个存储过程create or replace
procedure mayor_sueldo
as
cursor c_depto is select deptno from dept;
c_deptno dept.deptno%type;
c_empno number;
c_ename emp.ename%type;
c_job emp.job%type;
c_sal emp.sal%type;
begin
open c_depto;
fetch c_depto into c_deptno;
while ( c_depto%found )loop
select empno, ename, job, sal into c_empno, c_ename, c_job, c_sal from emp where sal = (select max(sal) from emp where(deptno = c_deptno) );
dbms_output.put_line( c_empno||'-'||c_ename||'-'||c_job||' '||c_sal );
fetch c_depto into c_deptno;
end loop;
close c_depto;
end;
问题是在while块内的查询内部,如果查询返回一个并且只有一行没有问题但是当查询返回多行时我认为我可以使用另一个游标但idk如何。 请帮帮我
答案 0 :(得分:1)
也许这会有所帮助:for _row in (select ....) loop dbms_output(_row.a || ..); end loop;