In a CREATE PACKAGE BODY, the purpose of the initialization section is to set the initial values of the package's global variables. It is therefore surprising to find a RETURN statement there, as all its following statements will be unreachable. == Noncompliant Code Example ---- SET SERVEROUTPUT ON CREATE OR REPLACE PACKAGE foo AS FUNCTION getBar RETURN PLS_INTEGER; bar PLS_INTEGER; END; / CREATE OR REPLACE PACKAGE BODY foo AS FUNCTION getBar RETURN PLS_INTEGER AS BEGIN RETURN bar; -- Compliant END; BEGIN bar := 42; DBMS_OUTPUT.PUT_LINE('package loaded'); RETURN; -- Noncompliant DBMS_OUTPUT.PUT_LINE('this is unreachable code'); END; / DROP PACKAGE BODY foo; DROP PACKAGE foo; ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::message.adoc[] endif::env-github,rspecator-view[]