Oracle游标使用详解(2)

DECLARE
CURSOR empnew_cursor IS SELECT ename,job FROM emp_new FOR UPDATE;
BEGIN
  FOR empnew_record IN empnew_cursor LOOP
    DBMS_OUTPUT.PUT_LINE('姓名'||empnew_record.ename||'职位'||empnew_record.job);
    IF empnew_record.job='PRESIDENT' THEN
      UPDATE emp_new SET sal=sal+1000 WHERE CURRENT OF empnew_cursor;
    ELSIF empnew_record.job='MANAGER' THEN
      UPDATE emp_new SET sal=sal+500 WHERE CURRENT OF empnew_cursor;
    END IF;
  END LOOP;
  COMMIT;
END;

SELECT * FROM EMP WHERE job in('PRESIDENT','MANAGER');
SELECT * FROM EMP_NEW WHERE job in('PRESIDENT','MANAGER');

可以看到这里工资有了相应的变化。

至此,Oracle游标解析完毕,总而言之,游标只是作为我们从数据库中提取出来的一部分数据,我们针对这个结果集做一系列的操作。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e77cac6dab7249c24a0bfdb470eeb711.html