Procedimento armazenado do Oracle usando matriz como parâmetro para inserção de tabela

Eu tenho procurado por um exemplo claro disso, sem sorte. Desculpe se já foi respondida.

Eu estou tentando fazer algo muito simples - um procedimento armazenado que irá tomar a entrada e inseri-los em uma tabela. Eu quero que ele tome uma matriz de várias linhas e faça a inserção de uma só vez.

Eu pensei que isso seria simples, mas eu não encontrei um exemplo que me mostrasse.

Em muitos exemplos, vejo pessoas criarem uma função para retornar o array - é o que tenho que fazer?

Até agora eu tenho:

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;

questionAnswers(2)

yourAnswerToTheQuestion