Вы не можете передать таблицу типа% row в процедуру Oracle.
Однако вы можете передать таблицу типа объекта:
CREATE TYPE recipe_obj AS OBJECT
( recipe_id NUMBER
, recipe_text VARCHAR2(200)
);
CREATE TYPE recipe_tbl AS TABLE OF recipe_obj;
CREATE OR REPLACE PACKAGE restoraunt IS
PROCEDURE upsert_reciptes ( recipes recipe_tbl);
END restoraunt;
CREATE OR REPLACE PACKAGE BODY restoraunt IS
PROCEDURE upsert_recipes ( recipes recipe_tbl ) IS
BEGIN
dbms_output.put_line('123');
END;
END restoraunt;
Однако, единственный способя знаю, что передать это в Oracle извне Oracle можно из Java.
Если вы используете Oracle JDeveloper Suite, вы можете автоматически генерировать необходимые классы Java после создания типа объекта и таблицы объектов.Затем вы можете использовать библиотеку Oracle OJDBC для передачи Java-объектов в Oracle через OracleCallableStatement.Большой справочник по этому вопросу - .
Р. М. Менона * Expert Oracle JDBC Programming.