sql >> Databasteknik >  >> RDS >> Oracle

Oracle PL/SQL-samlingar - Lägga till element i en befintlig tabell

Här ger jag ett exempel på ett PL/SQL-program för att lägga till element till en befintlig tabell (samling).

Även om en tabell är obegränsad, kan du inte tilldela ett element som inte finns ännu, och skulle därmed få tabellen att öka i storlek. om du försöker göra detta kommer PL/SQL att visa felet "ORA-6533:Subscript beyond count " som motsvarar SUBSCRIPT_BEYOND_COUNT fördefinierat undantag. Detta illustreras av följande exempel:

Exempel - Lägga till element till en befintlig tabell i 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;

TIPS

Du kan öka storleken på en kapslad tabell genom att använda EXTEND-metoden.

Se även:

  • Oracle PL/SQL – Samlingar (kapslade tabeller)
  • Tabelltyp i Oracle PL SQL-exempel
  1. Hur pg_typeof() fungerar i PostgreSQL

  2. Hur man skapar främmande nyckelbegränsningar på flera kolumner i SQL Server - SQL Server / TSQL självstudie del 67

  3. Frågekombinationer med kapslad array av poster i JSON-datatypen

  4. GROUP BY med MAX(DATE)