Gespeicherte Oracle-Prozedur mit Array als Parameter für die Tabelleneinfügung

Ich habe nach einem klaren Beispiel dafür gesucht, ohne Glück. Entschuldigung, wenn es bereits beantwortet wurde.

Ich versuche, etwas ziemlich Einfaches zu tun - eine gespeicherte Prozedur, die die Eingabe übernimmt und sie in eine Tabelle einfügt. Ich möchte, dass es ein Array von mehreren Zeilen nimmt und das Einfügen auf einmal ausführt.

Ich dachte, das wäre einfach, aber ich habe kein Beispiel gefunden, das es mir zeigt.

In vielen Beispielen wird eine Funktion zum Zurückgeben des Arrays erstellt. Muss ich das tun?

Bisher habe ich:

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;

Antworten auf die Frage(2)

Ihre Antwort auf die Frage