declare
  cursor cur_test(v_deptcode varchar2,v_dateofjoining date)
  is
  select * from employee where deptcode=v_deptcode and dateofjoining<v_dateofjoining;
begin
  for c_1 in cur_test loop
      dbms_output.put_line(c_1.empno||c_1.ename||c_1.designation||c_1.dateofjoining||c_1.branchcode||c_1.deptcode);
  end loop;
end;
/
奇怪了,emp表里哪有你说的那两个字段,应该是deptno和heiredate吧

解决方案 »

  1.   

    上面的错了
    declare
      cursor cur_test(v_deptcode varchar2,v_dateofjoining date)
      is
        select * from employee where deptcode=v_deptcode and dateofjoining<v_dateofjoining;
      v_test employee%rowtype;
    begin
      open cur_test(&v_deptcode,&v_dateofjoining);
      loop
          fetch cur_test into v_test;
          exit when cur_test%found;
          dbms_output.put_line(c_1.empno||c_1.ename||c_1.designation||c_1.dateofjoining||c_1.branchcode||c_1.deptcode);
      end loop;
      close cur_test;
    end;
    /