DECLARE 
 CURSOR Point IS
 SELECT MIN_SALARY,MAX_SALARY FROM JOBS FOR UPDATE NOWAIT ;
 Min_Monmany number(6);
 Max_Monmany number(6);
 Begin
 
 OPEN Point;
 LOOP
    FETCH Point INTO Min_Monmany,Max_Monmany;
    EXIT WHEN Point%NOTFOUND;
    IF Min_Monmany < 10000 THEN UPDATE JOBS SET MIN_SALARY := Min_Monmany +1000 WHERE CURRENT OF Point;
    END IF;
    IF Max_Monmany < 10000 THEN UPDATE JOBS SET MAX_SALARY := Max_Monmany +1000 WHERE CURRENT OF Point;
    END IF;
 END LOOP;
 COMMIT;
 CLOSE Point; 
 end;提示如下:
 Max_Monmany number(6);
                    *
ERROR at line 5:
ORA-06550: line 12, column 60:
PL/SQL: ORA-00927: missing equal sign
ORA-06550: line 12, column 33:
PL/SQL: SQL Statement ignored
ORA-06550: line 14, column 60:
PL/SQL: ORA-00927: missing equal sign
ORA-06550: line 14, column 33:
PL/SQL: SQL Statement ignored

解决方案 »

  1.   

    什么叫CURRENT OF POINT应该是 xxx=xxx 系统提示的错误是你少了等于号。
      

  2.   

    你还不如不用游标:直接写update jobs set MIN_SALARY=MIN_SALARY+1000 where MIN_SALARY<10000;而且 set的时候不要用“:=”,应该用“=”。
      

  3.   

    := Min_Monmany +
    不应用:=
    这不是pl/sql 变量赋值!而是sql语句!
      

  4.   

    我倒~ 楼主习惯和我相反的.
    我经常把 := 写成 = (C#,java写惯了)