2023-05-03 11:06:20 +02:00
== Why is this an issue?
2021-04-28 16:49:39 +02:00
Having a bunch of standalone functions or procedures reduces maintainability because it becomes harder to find them and to see how they are related. Instead, they should be logically grouped into meaningful packages.
2021-04-28 18:08:03 +02:00
2023-05-03 11:06:20 +02:00
=== Noncompliant code example
2021-04-28 16:49:39 +02:00
2022-02-04 17:28:24 +01:00
[source,sql]
2021-04-28 16:49:39 +02:00
----
CREATE PROCEDURE show_name(name VARCHAR2) AS -- Non-Compliant
BEGIN
DBMS_OUTPUT.PUT_LINE('Name: ' || name);
END;
/
DROP PROCEDURE show_name;
----
2021-04-28 18:08:03 +02:00
2023-05-03 11:06:20 +02:00
=== Compliant solution
2021-04-28 16:49:39 +02:00
2022-02-04 17:28:24 +01:00
[source,sql]
2021-04-28 16:49:39 +02:00
----
CREATE PACKAGE employee AS
PROCEDURE show_name;
END;
/
CREATE PACKAGE BODY employee AS
name VARCHAR2(42);
PROCEDURE show_name AS -- Compliant
BEGIN
DBMS_OUTPUT.PUT_LINE('Name: ' || name);
END;
END;
/
DROP PACKAGE employee;
----
2021-04-28 18:08:03 +02:00
2021-09-20 15:38:42 +02:00
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::message.adoc[]
endif::env-github,rspecator-view[]