Тук давам пример за PL/SQL програма за добавяне на елементи към съществуваща таблица (колекция).
Въпреки че таблицата не е ограничена, не можете да присвоите елемент, който все още не съществува, и по този начин ще доведе до увеличаване на размера на таблицата. ако се опитате да направите това, PL/SQL ще изведе грешката „ORA-6533:Индекс извън броя ", което е еквивалентно на SUBSCRIPT_BEYOND_COUNT
предварително дефинирано изключение. Това се илюстрира със следния пример:
Пример - Добавяне на елементи към съществуваща таблица в 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;
СЪВЕТ
Можете да увеличите размера на вложена таблица, като използвате метода EXTEND.
Вижте също:
- Oracle PL/SQL – Колекции (вложени таблици)
- Тип таблица в пример за Oracle PL SQL