
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
57 lines
928 B
Plaintext
57 lines
928 B
Plaintext
== Why is this an issue?
|
|
|
|
It is a best practice to have variable declarations outside of the loop. Additionally, declaring variables inside a loop is slightly less efficient because memory management is then performed with each iteration of the loop.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,sql]
|
|
----
|
|
BEGIN
|
|
FOR i IN 1..10
|
|
LOOP
|
|
DECLARE
|
|
variableX NUMBER:= 10;
|
|
BEGIN
|
|
variableX:= variableX+i;
|
|
dbms_output.put_line(variableX);
|
|
END;
|
|
END LOOP;
|
|
END;
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,sql]
|
|
----
|
|
DECLARE
|
|
variableX NUMBER:= 0;
|
|
BEGIN
|
|
FOR i IN 1..10
|
|
LOOP
|
|
variableX:= variableX+1;
|
|
dbms_output.put_line(variableX);
|
|
END LOOP;
|
|
END;
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Move this variable declaration outside of the loop.
|
|
|
|
|
|
=== Highlighting
|
|
|
|
Variable declaration
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|