Stored Procedure Function Oracle PLSQL

SQL> CREATE TABLE books (
  2     isbn      CHAR(10) PRIMARY KEY,
  3     category  VARCHAR2(20),
  4     title     VARCHAR2(100),
  5     num_pages NUMBER,
  6     price     NUMBER,
  7     copyright NUMBER(4),
  8     emp1   NUMBER,
  9     emp2   NUMBER,
 10     emp3   NUMBER
 11   );
Table created.
SQL>
SQL>
SQL>
SQL>
SQL> CREATE OR REPLACE PROCEDURE ParameterLength (p1 IN OUT VARCHAR2,p2 IN OUT books.copyright%TYPE) AS
  2   BEGIN
  3     p2 :=345;
  4   END ParameterLength;
  5   /
Procedure created.
SQL>
SQL>
SQL> show errors
No errors.
SQL>
SQL>
SQL> DECLARE
  2     v1 VARCHAR2(1);
  3     v2 NUMBER;
  4   BEGIN
  5     ParameterLength(v1, v2);
  6   END;
  7   /
PL/SQL procedure successfully completed.
SQL>
SQL>
SQL>
SQL>
SQL>
SQL> drop table books;
Table dropped.
SQL>
SQL>
SQL>
SQL>