CURSOR和LOOP在Oracle数据库上无法正常运行

时间:2014-04-30 10:04:55

标签: sql database oracle plsql oracle-sqldeveloper

我的Oracle数据库上的PL-SQL脚本有问题。这不正常。我听说过一句话是没用的。我无法弄清楚哪一个。

DECLARE
CURSOR emp_cur IS
SELECT ename, deptno, empno
FROM emp
WHERE sal <
2500;
emp_rec emp_cur%ROWTYPE;
BEGIN
FOR emp_rec IN emp_cur
LOOP
give_raise (emp_rec.empno, 10000);
END LOOP;
END;

1 个答案:

答案 0 :(得分:0)

你可以试试这种方式。如果仅将它用作for循环中的迭代器,则不必声明明确的游标。我认为与OracleUser2一样关于emp_rec的显式声明。

DECLARE

BEGIN
  FOR emp_rec IN (select ename, deptno, empno from emp where sal < 2500)
  LOOP
      give_raise (emp_rec.empno, 10000);
  END LOOP;
END;

由于 此致