title: Can I execute a procedure with default null parameters?
body: <p>I recently created a procedure that is defined like this:</p>
  
  <pre><code>create or replace
  PACKAGE
  pkg_dml_legal_transactions
  AS
    PROCEDURE spm_update_court_cost(
      p_court_state     IN legal_court_cost.state%TYPE,
      p_tran_code       IN legal_court_cost.transaction_code%TYPE,
      p_legal_court     IN legal_court_cost.court%TYPE default null,
      p_end_date        IN legal_court_cost.end_date%TYPE,
      p_cost_min        IN legal_court_cost.cost_range_min%TYPE,
      p_cost_max        IN legal_court_cost.cost_range_max%TYPE,
      p_bal_min         IN legal_court_cost.bal_range_min%TYPE DEFAULT NULL,
      p_bal_max         IN legal_court_cost.bal_range_max%TYPE DEFAULT NULL);
  
  end pkg_dml_legal_transactions;
  </code></pre>
  
  <p>When I attempt to <code>execute</code> the procedure, I get an error stating that:</p>
  
  <pre><code>PLS-00306: wrong number or types of arguments in call to 'SPM_UPDATE_COURT_COST'
  </code></pre>
  
  <p>Here is what my execute statement looks like:</p>
  
  <pre><code>execute pkg_dml_legal_transactions.spm_update_court_cost('NJ',1,sysdate,1000,40000);
  </code></pre>
  
  <p>Now I understand what the error means, but I figured if the parameters are defaulted to null then I could just skip them over, but apparently not. Is  there a way around this?</p>