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;