游标作业2

3:使用显式游标,根据员工工资(sal)参数,查询员工表emp中工资大于等于该参数的员工信息,显示内容包括员工编码(empno),姓名(ename),工资(sal).用游标FOR循环来做。
declare
  cursor cursor_emp(inputsal number) is
  select empno,ename,sal from emp where sal>inputsal;
  empno emp.empno%type;
  ename emp.ename%type;
  sal emp.sal%type;
  begin
    sal:=&sal;
    for rec in cursor_emp(sal) loop
      dbms_output.put_line('编号:'||rec.empno||'姓名:'||rec.ename||'工资:'||rec.sal);
      end loop;
      end;


4:使用显示游标,查询并打印薪水大于2000并且职位是’manager’ 的员工编号(empno), 员工姓名(ename),员工职位 (job),员工薪水(sal) (分别用无条件循环以及用游标FOR循环来做,并要求定义记录变量)
declare
  cursor cursor_emp is
  select job,ename,sal from emp where sal>2000 and job='MANAGER';
  job emp.job%type;
  ename emp.ename%type;
  sal emp.sal%type;
  begin
    open cursor_emp;
    loop
    fetch cursor_emp into job,ename,sal;
    exit when cursor_emp%NOTFOUND;
    dbms_output.put_line(job||':'||ename||':'||sal);
    end loop;
    close cursor_emp;
    end;

(for循环)
declare
  cursor cursor_emp is
  select job,ename,sal from emp where sal>'2000' and job='MANAGER';
  job emp.job%type;
  ename emp.ename%type;
  sal emp.sal%type;
  begin
    for rec in cursor_emp loop
    dbms_output.put_line(rec.job||':'||rec.ename||':'||rec.sal);
    end loop;
    end;

posted @ 2010-11-25 11:15  Hugh·Hu  阅读(335)  评论(0编辑  收藏  举报