游标
3:使用显式游标,根据员工工资(sal)参数,查询员工表emp中工资大于等于该参数的员工信息,显示内容包括员工编码(empno),姓名(ename),工资(sal).用游标FOR循环来做。
declare
cursor s(sl number) is select empno,ename,sal from emp where sal>sl;
empno emp.empno%type;
ename emp.ename%type;
sal emp.sal%type;
begin
sal:=&sal;
for rec in s(sal)loop
dbms_output.put_line('员工编码:'||rec.empno);
dbms_output.put_line('姓名:'||rec.ename);
dbms_output.put_line('工资:'||rec.sal);
end loop;
end;
4:使用显示游标,查询并打印薪水大于2000并且职位是’manager’ 的员工编号(empno), 员工姓名(ename),员工职位 (job),员工薪水(sal) (分别用无条件循环以及用游标FOR循环来做,并要求定义记录变量)
无条件循环
declare
cursor emp_cursor is select empno,ename,sal,job from emp where sal>2000 and job='MANAGER';
empno emp.empno%type;
ename emp.ename%type;
sal emp.sal%type;
job emp.job%type;
begin
open emp_cursor;
loop
fetch emp_cursor into empno,ename,sal,job;
exit when emp_cursor%notfound;
dbms_output.put_line(empno||':'||ename||':'||sal||':'||job);
end loop;
close emp_cursor;
end;
FOR循环
declare
cursor emp_cursor is select empno,ename,sal,job from emp where sal>2000 and job='MANAGER';
begin
for emp_record in emp_cursor
loop
dbms_output.put_line('姓名是:'||emp_record.ename||'的,职位是:'||emp_record.job||'的,工资是:'||emp_record.sal);
end loop;
end;
posted on 2010-11-25 11:36 MichaelXDH 阅读(241) 评论(0) 收藏 举报
浙公网安备 33010602011771号