http://psoug.org/snippet/Create-Package_450.htm 참조

SQL> CREATE TABLE test2 (id NUMBER, name CHAR(20));

SQL> CREATE OR REPLACE PACKAGE test_pkg AS
  PROCEDURE add_test (col1_in NUMBER, col2_in CHAR);
  PROCEDURE del_test (col1_in NUMBER);
END test_pkg;
/
 
SQL> CREATE OR REPLACE PACKAGE BODY test_pkg AS
 
  PROCEDURE add_test(col1_in IN NUMBER,col2_in IN CHAR) AS
  BEGIN
    INSERT INTO test2 VALUES (col1_in,col2_in);
  END add_test;
 
  PROCEDURE del_test(col1_in IN NUMBER) AS
  BEGIN
    DELETE FROM test WHERE id = col1;
  END del_test;
 
END test_pkg;
/

SQL> call test_pkg.add_test(1, 'aaa')

/

SQL> commit

/

SQL> select * from test2

/


http://www.journaldev.com/2502/jdbc-callablestatement-stored-procedure-in-out-oracle-struct-cursor-example-tutorial 도 참조