54 lines
1.0 KiB
Plaintext
54 lines
1.0 KiB
Plaintext
For better readability, and to prevent the ``++PLS-00312: a positional parameter association may not follow a named association++`` exception from being raised, do not mix named and positional argument invocations.
|
|
|
|
|
|
== Noncompliant Code Example
|
|
|
|
[source,sql]
|
|
----
|
|
SET SERVEROUTPUT ON
|
|
|
|
DECLARE
|
|
PROCEDURE sub(op1 PLS_INTEGER, op2 PLS_INTEGER) AS
|
|
BEGIN
|
|
DBMS_OUTPUT.PUT_LINE('Sub = ' || (op1 - op2));
|
|
END;
|
|
BEGIN
|
|
|
|
sub(10, op2 => 2); -- Noncompliant
|
|
sub(op1 => 10, 2); -- Noncompliant - raises PLS-00312: a positional parameter association may not follow a named association
|
|
|
|
END;
|
|
/
|
|
----
|
|
|
|
|
|
== Compliant Solution
|
|
|
|
[source,sql]
|
|
----
|
|
SET SERVEROUTPUT ON
|
|
|
|
DECLARE
|
|
PROCEDURE sub(op1 PLS_INTEGER, op2 PLS_INTEGER) AS
|
|
BEGIN
|
|
DBMS_OUTPUT.PUT_LINE('Sub = ' || (op1 - op2));
|
|
END;
|
|
BEGIN
|
|
|
|
sub(10, 2); -- Compliant
|
|
sub(op1 => 10, op2 => 2); -- Compliant
|
|
|
|
END;
|
|
/
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::message.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|