Procedimiento almacenado de Oracle utilizando una matriz como parámetro para la inserción de tabla

He estado buscando un claro ejemplo de esto, sin suerte. Lo siento si ya ha sido respondido.

Estoy tratando de hacer algo bastante simple: un procedimiento almacenado que tomará la entrada y la insertará en una tabla. Quiero que tome una matriz de varias filas y haga la inserción de una vez.

Pensé que esto sería simple, pero no he encontrado un ejemplo que me muestre.

En muchos ejemplos, veo que la gente crea una función para devolver la matriz: ¿es lo que tengo que hacer?

Hasta ahora tengo:

CREATE OR REPLACE TYPE my_type  is table of  ( name varchar2(20), phone varchar2(10));

CREATE OR REPLACE PROCEDURE customer.insert_mydata(v_my_data my_type )
AS
BEGIN

   BEGIN
 insert into mytable(Name, phone)
 values (v_my_data.name, v_my_data.phone) ; 
      COMMIT;
   END;
EXCEPTION
   WHEN OTHERS
   THEN
      ROLLBACK;
---error logging      );
END;

Respuestas a la pregunta(2)

Su respuesta a la pregunta