I have to alter the sal but it is choosing the wrong else statement when running the PL/SQL 

Here is my newemp3 table:

```
SQL> select *
  2  from newemp;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM
---------- ---------- --------- ---------- --------- ---------- ----------
    DEPTNO
----------
      7369 SMITH      CLERK           7902 17-DEC-80        800
        20

      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300
        30

      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500
        30

      7566 JONES      MANAGER         7839 02-APR-81       2975
        20

      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400
        30

      7698 BLAKE      MANAGER         7839 01-MAY-81       2850
        30

      7782 CLARK      MANAGER         7839 09-JUN-81       2450
        10

      7788 SCOTT      ANALYST         7566 19-APR-87       3000
        20

      7839 KING       PRESIDENT            17-NOV-81       5000
        10

      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0
        30

      7876 ADAMS      CLERK           7788 23-MAY-87       1100
        20

      7900 JAMES      CLERK           7698 03-DEC-81        950
        30

     7902 FORD       ANALYST         7566 03-DEC-81       3000
        20

      7934 MILLER     CLERK           7782 23-JAN-82       1300
        10

```

here is my code:

```
SET VERIFY OFF
DECLARE
   v_ename    newemp3.ename%TYPE; 
   v_sal      newemp3.sal%TYPE;
   v_newgoal  newemp3.sal%TYPE;
   v_deptno   newemp3.deptno%TYPE;
BEGIN
   --assign some value
   v_ename := null; --if null - it updates all records in table

   for rc in (SELECT ename, sal, deptno
     FROM newemp3
     WHERE ename = nvl(v_ename, ename)) loop

     IF rc.deptno = 10 AND rc.sal > 2000 then 
       v_newgoal := rc.sal * 1.06;
     else 
       v_newgoal := rc.sal * 1.07; 

       IF rc.deptno = 20 AND rc.sal > 2500 then 
         v_newgoal := rc.sal * 1.05;
       else 
         v_newgoal := rc.sal * 1.055;

         IF rc.deptno = 30 AND rc.sal > 1000 then 
           v_newgoal := rc.sal * 1.07;
         else 
           v_newgoal := rc.sal * 1.065;
         END IF;

       END IF; 

     END IF; 

     UPDATE newemp3
     SET sal = v_newgoal
     WHERE ename = rc.ename;

   end loop;

COMMIT;
END;
/
SET VERIFY ON

```

The last row is miller which has a 1300 sal. So that should be 1300 \* 1.07 which equals 1391. The problem is, it is coming up with 1384.5, which is using the 1.065 from the dept 30 if statement.