Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle PL/SQL-Sammlungen – Hinzufügen von Elementen zu einer vorhandenen Tabelle

Hier gebe ich ein Beispiel für ein PL/SQL-Programm, um Elemente zu einer bestehenden Tabelle (Sammlung) hinzuzufügen.

Obwohl eine Tabelle uneingeschränkt ist, können Sie einem Element, das noch nicht vorhanden ist, keine Zuweisung zuweisen, wodurch die Tabelle an Größe zunehmen würde. Wenn Sie dies versuchen, wird PL/SQL den Fehler "ORA-6533:Subscript beyond count" ausgeben ", was SUBSCRIPT_BEYOND_COUNT entspricht vordefinierte Ausnahme. Dies wird durch das folgende Beispiel veranschaulicht:

Beispiel – Hinzufügen von Elementen zu einer bestehenden Tabelle in PL/SQL

DECLARE
TYPE t_NumbersTab IS TABLE OF NUMBER;
v_Numbers t_NumbersTab := t_NumbersTab(1, 2, 3);
BEGIN
--v_Numbers was initialized to have 3 elements. So the
--following assignment are all legal.
v_Numbers(1) := 7;
v_Numbers(2) := -1;

--However, this assignment will raise ORA6533.
v_Numbers(4) := 4;
END;

TIPP

Sie können die Größe einer verschachtelten Tabelle erhöhen, indem Sie die EXTEND-Methode verwenden.

Siehe auch:

  • Oracle PL/SQL – Sammlungen (verschachtelte Tabellen)
  • Tabellentyp in Oracle PL SQL-Beispiel