title: Default Values to Stored Procedure in Oracle
body: <p>I have a <code>stored procedure</code> as follows.</p>
  
  <pre><code> CREATE OR REPLACE PROCEDURE TEST(
         X IN VARCHAR2 DEFAULT 'P',
         Y IN NUMBER DEFAULT 1) AS
   BEGIN
   DBMS_OUTPUT.PUT_LINE('X'|| X||'--'||'Y'||Y);
   END;
  </code></pre>
  
  <p>When I execute the above procedure</p>
  
  <pre><code> EXEC TEST(NULL,NULL);
  </code></pre>
  
  <p>It will print <code>X--Y</code>. The input parameters are not defaulting to the specified values in the procedure signature when input parameters are <code>null</code>. 
  What is the use of <code>default</code> values then? What if we pass a <code>null</code> value as input and we want to replace a <code>null</code> value with the <code>default</code> value?</p>