createorreplaceprocedure sp_pro8(spNo number)is
v_job emp.job%type;beginselect job into v_job from emp where empno=spNo;if v_job='PRESIDENT'thenupdate emp set sal=sal+1000where empno=spNo;
elsif v_job='MANAGER'thenupdate emp set sal=sal+500where empno=spNo;elseupdate emp set sal=sal+200where empno=spNo;endif;end;
一个匿名块使用游标
declare---定义游标类型type sp_emp_cursor is ref cursor;---定义一个游标变量
test_cursor sp_emp_cursor;---定义变量
v_ename emp.ename%type;
v_sal emp.sal%type;begin---执行---把test_cousor和一个select 结合open test_cursor forselect ename, sal from emp where deptno =&aa;---循环取出loopfetch test_cursor into v_ename, v_sal;---判断是否test_cursor为空exitwhen test_cursor%notfound;
dbms_output.put_line('名字:'||v_ename ||'工资:'||v_sal);endloop---关闭游标close test_cursor;end;