title: How to call a procedure with a rowtype literal as parameter in PL/SQL?
body: <p>Lets say I have a table and a procedure that accepts one argument of the tables rowtype:</p>
  
  <pre><code>CREATE TABLE t (a NUMBER, b NUMBER);
  
  CREATE PROCEDURE p (x t%ROWTYPE) IS
  BEGIN
    NULL;
  END;
  </code></pre>
  
  <p>Can I call that procedure using a rowtype literal, that is without explicitly creating a rowtype variable (or at least not explicitly listing and assigning every field of it)? The two following approaches both generate the below error:</p>
  
  <pre><code>p(1, 2);
  </code></pre>
  
  
  
  <pre><code>p((1, 2));
  </code></pre>
  
  <blockquote>
    <p>PLS-00306: wrong number or types of arguments in call to 'P'</p>
  </blockquote>