== Why is this an issue? ``++cursor%NOTFOUND++`` is clearer and more readable than ``++NOT cursor%FOUND++``, and is preferred. === Noncompliant code example [source,sql] ---- SET SERVEROUTPUT ON DECLARE CURSOR c IS SELECT DUMMY FROM DUAL; x VARCHAR2(1); BEGIN OPEN c; FETCH c INTO x; IF NOT c%FOUND THEN -- Noncompliant DBMS_OUTPUT.PUT_LINE('uh?'); ELSE DBMS_OUTPUT.PUT_LINE('all good: ' || x); END IF; CLOSE c; END; / ---- === Compliant solution [source,sql] ---- SET SERVEROUTPUT ON DECLARE CURSOR c IS SELECT DUMMY FROM DUAL; x VARCHAR2(1); BEGIN OPEN c; FETCH c INTO x; IF c%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('uh?'); ELSE DBMS_OUTPUT.PUT_LINE('all good: ' || x); END IF; CLOSE c; END; / ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Refactor this statement to use "cursor%NOTFOUND". ''' == Comments And Links (visible only on this page) === on 3 Feb 2015, 16:08:52 Ann Campbell wrote: Hoping you can help me out with code samples [~dinesh.bolkensteyn] === on 8 May 2015, 15:12:40 Dinesh Bolkensteyn wrote: \[~ann.campbell.2] ---- SET SERVEROUTPUT ON DECLARE CURSOR c IS SELECT DUMMY FROM DUAL; x VARCHAR2(1); BEGIN OPEN c; FETCH c INTO x; IF NOT c%FOUND THEN -- Noncompliant DBMS_OUTPUT.PUT_LINE('uh?'); ELSE DBMS_OUTPUT.PUT_LINE('all good: ' || x); END IF; CLOSE c; END; / ---- -> ---- SET SERVEROUTPUT ON DECLARE CURSOR c IS SELECT DUMMY FROM DUAL; x VARCHAR2(1); BEGIN OPEN c; FETCH c INTO x; IF c%NOTFOUND THEN -- Noncompliant DBMS_OUTPUT.PUT_LINE('uh?'); ELSE DBMS_OUTPUT.PUT_LINE('all good: ' || x); END IF; CLOSE c; END; / ---- endif::env-github,rspecator-view[]