42 lines
685 B
Plaintext
42 lines
685 B
Plaintext
![]() |
include::../description.adoc[]
|
||
|
|
||
|
== Noncompliant Code Example
|
||
|
|
||
|
----
|
||
|
SET SERVEROUTPUT ON
|
||
|
|
||
|
DECLARE
|
||
|
foo VARCHAR2(42) := 'foo';
|
||
|
BEGIN
|
||
|
DECLARE
|
||
|
foo VARCHAR2(42) := 'bar'; -- Noncompliant - this variable hides the one above and should be renamed
|
||
|
BEGIN
|
||
|
DBMS_OUTPUT.PUT_LINE(foo); -- Displays "bar", which is confusing
|
||
|
END;
|
||
|
|
||
|
DBMS_OUTPUT.PUT_LINE(foo); -- Displays "foo"
|
||
|
END;
|
||
|
/
|
||
|
----
|
||
|
|
||
|
== Compliant Solution
|
||
|
|
||
|
----
|
||
|
SET SERVEROUTPUT ON
|
||
|
|
||
|
DECLARE
|
||
|
foo VARCHAR2(42) := 'foo';
|
||
|
BEGIN
|
||
|
DECLARE
|
||
|
bar VARCHAR2(42) := 'bar'; -- Compliant
|
||
|
BEGIN
|
||
|
DBMS_OUTPUT.PUT_LINE(bar); -- Displays "bar"
|
||
|
END;
|
||
|
|
||
|
DBMS_OUTPUT.PUT_LINE(foo); -- Displays "foo"
|
||
|
END;
|
||
|
/
|
||
|
----
|
||
|
|
||
|
include::../see.adoc[]
|