title: VARCHAR as Out parameter returns error: ORA-06502: PL/SQL: numeric or value error: character string buffer too small
body: <p>I'm learning about PL/SQL Stored Procedures and encountered numeric or value error.</p>
  
  <p>Stored Procedure:</p>
  
  <pre><code>CREATE OR REPLACE PROCEDURE TEST_PROC(
     VARCHAROUT OUT VARCHAR
  )AS 
     BEGIN
        VARCHAROUT := 'test test test';
  END;
  </code></pre>
  
  <p>My Query:</p>
  
  <pre><code>DECLARE
     OUTOUT VARCHAR(200);
  BEGIN
     TEST_PROC(OUTOUT);
     :OUTOUT := OUTOUT;
  END;
  </code></pre>
  
  <p>ERROR:</p>
  
  <blockquote>
    <p>Error report - ORA-06502: PL/SQL: numeric or value error: character
    string buffer too small ORA-06512: at line 8
    06502. 00000 -  "PL/SQL: numeric or value error%s"
    *Cause:    An arithmetic, numeric, string, conversion, or constraint error
               occurred. For example, this error occurs if an attempt is made to
               assign the value NULL to a variable declared NOT NULL, or if an
               attempt is made to assign an integer larger than 99 to a variable
               declared NUMBER(2).
    *Action:   Change the data, how it is manipulated, or how it is declared so
               that values do not violate constraints.</p>
  </blockquote>