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
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
不应用:=
这不是pl/sql 变量赋值!而是sql语句!
我经常把 := 写成 = (C#,java写惯了)