
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.
73 lines
1.2 KiB
Plaintext
73 lines
1.2 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Procedures which don't accept parameters are likely to either not be reused that often or to depend on global variables instead. Refactoring those procedures to take parameters will make them both more flexible and reusable.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,sql]
|
|
----
|
|
SET SERVEROUTPUT ON
|
|
|
|
DECLARE
|
|
name VARCHAR2(42) := 'John';
|
|
|
|
PROCEDURE print_name; -- Noncompliant
|
|
|
|
PROCEDURE print_name AS -- Noncompliant
|
|
BEGIN
|
|
DBMS_OUTPUT.PUT_LINE('Name: ' || name);
|
|
END;
|
|
|
|
BEGIN
|
|
print_name;
|
|
END;
|
|
/
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,sql]
|
|
----
|
|
SET SERVEROUTPUT ON
|
|
|
|
DECLARE
|
|
PROCEDURE print_name(name VARCHAR2) AS -- Compliant
|
|
BEGIN
|
|
DBMS_OUTPUT.PUT_LINE('Name: ' || name);
|
|
END;
|
|
BEGIN
|
|
print_name('John');
|
|
END;
|
|
/
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Refactor this procedure to take parameters.
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
=== is related to: S1902
|
|
|
|
=== is related to: S2011
|
|
|
|
=== on 3 Feb 2015, 18:58:39 Ann Campbell wrote:
|
|
\[~dinesh.bolkensteyn] please make sure I split the code sample correctly.
|
|
|
|
=== on 11 May 2015, 12:30:25 Dinesh Bolkensteyn wrote:
|
|
\[~ann.campbell.2] LGTM
|
|
|
|
endif::env-github,rspecator-view[]
|