title: PL/SQL function parameter
body: <p>In PL/SQL, the code below will fail. It doesn't allow the definition of size for the varchar2 parameter. Do you know why? How do I fix it?</p>
  
  <pre><code>create or replace function logMessage(msg varchar2(2000))
  return number as
  begin
      null;    
      return 1;
  end logMessage;
  /
  </code></pre>
  
  <p>error message is</p>
  
  <blockquote>
    <p>1/33           PLS-00103: Encountered the symbol "(" when expecting
    one of the following:</p>
    
    <p>:= . ) , @ % default character The symbol ":=" was substituted for
    "(" to continue.</p>
  </blockquote>