G-4110: Always use %NOTFOUND instead of NOT %FOUND to check whether a cursor returned data.

Minor

Maintainability

Reason

The readability of your code will be higher when you avoid negative sentences.

Example (bad)

DECLARE
   CURSOR c_employees IS 
      SELECT last_name
            ,first_name
        FROM employees
       WHERE commission_pct IS NOT NULL;

   r_employee  c_employees%ROWTYPE;
BEGIN
   OPEN c_employees;

   <<read_employees>>
   LOOP
      FETCH c_employees INTO r_employee;
      EXIT read_employees WHEN NOT c_employees%FOUND;
   END LOOP read_employees;

   CLOSE c_employees;
END;
/

Example (good)

DECLARE
   CURSOR c_employees IS 
      SELECT last_name
            ,first_name
        FROM employees
       WHERE commission_pct IS NOT NULL;

   r_employee  c_employees%ROWTYPE;
BEGIN
   OPEN c_employees;

   <<read_employees>>
   LOOP
      FETCH c_employees INTO r_employee;
      EXIT read_employees WHEN c_employees%NOTFOUND;
   END LOOP read_employees;

   CLOSE c_employees;
END;
/