oracle_看韩老师视频学游标

/**游标**/
--给某部门所有工资低于2k的员工们加500快
create or replace procedure pro5(v_in_deptno number) is
--定义游标类型
type cl_emp_cursor is ref cursor;
--定义游标变量
v_emp_cursor cl_emp_cursor;
--第一两接受数据类型
v_ename emp.ename%type;
v_sal emp.sal%type;
begin
--开始执行
open v_emp_cursor for select ename,sal from emp;
--循环取出数据
loop
--把游标里的值赋给变量
fetch v_emp_cursor into v_ename,v_sal;
--判断游标结束
exit when v_emp_cursor%notfound;
--输出
--dbms_output.put_line(v_ename);
--判断v_sal<2k,则update
if
v_sal<2000 then
update emp set sal=v_sal+500 where ename=v_ename;
end if;
end loop;
end;
/
set serveroutput on;
select * from emp order by deptno;
exec pro5(10);

你可能感兴趣的:(oracle)