pl/sql 复合类型,游标

来源:互联网 发布:果冻录音软件怎么样 编辑:程序博客网 时间:2024/05/19 06:17
---pl/sql 复合类型,游标
declare
--定义游标类型,sp_emp_cursor
type sp_emp_cursor is ref cursor;
--定义游标变量
var_test_cursor sp_emp_cursor;
v_ename emp.ename%type;
v_sal   emp.sal%type;
begin
--执行部分
--把var_test_cursor和一个select结合
   open var_test_cursor for select ename,sal from emp where deptno=&no;
--循环取出
   loop
      fetch var_test_cursor into v_ename,v_sal;
      --判断var_test_cursor是否为空
      exit when var_test_cursor%notfound;
      if v_sal < 2000 then
          begin
            --薪资低于2000的员工,薪资加100
            update emp set sal = sal + 100 where ename=v_ename;
          end;
      end if;  
      dbms_output.put_line('名字:'||v_ename||'薪资:'||v_sal);
   end loop;
   --关闭游标
   close var_test_cursor;
end;
0 0