== Why is this an issue?

When creating a function, procedure, package, package body, type, type body, trigger or library, it is a good practice replace the existing one to avoid errors.


=== Noncompliant code example

[source,sql]
----
CREATE FUNCTION my_function RETURN PLS_INTEGER AS -- Noncompliant
BEGIN
  RETURN 42;
END;
/
----


=== Compliant solution

[source,sql]
----
CREATE OR REPLACE FUNCTION my_function RETURN PLS_INTEGER AS -- Compliant, no error even if the function already exists
BEGIN
  RETURN 42;
END;
/
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Add "OR REPLACE" to this creation.


endif::env-github,rspecator-view[]
