DELETE метод Oracle PL/SQL

В этом учебном материале вы узнаете, как использовать метод коллекций DELETE в Oracle PL/SQL с синтаксисом и примерами.

Описание

В Oracle PL/SQL метод DELETE удаляет все элементы из коллекции любого типа. Эта операция немедленно освобождает память, выделенную для удаляемых элементов.

Синтаксис

Синтаксис метода коллекций DELETE в Oracle PL/SQL.

collection_name.DELETE (n);
collection_name.DELETE (m, n);

Параметры или аргументы

collection_name — имя коллекции один из следующих типов associative arrays или nested tables.
DELETE(n) — удаляет элемент, индекс которого равен n, если этот элемент существует; в противном случае он ничего не делает.
DELETE(m,n) удаляет все элементы, индексы которых находятся в диапазоне m..n, если существуют как m, так и n, а m <= n; в противном случае он ничего не делает.

Примечание

Пример

Рассмотрим некоторые пример, чтобы понять как использовать метод коллекций DELETE в Oracle PL/SQL.

Пример метода DELETE с Nested Tables

В этом примере мы используем Nested Tables и делаем следующее:

  1. объявляем переменную Nested Tables
  2. инициализируем ее шестью элементами
  3. удаляем и затем восстанавливаем второй элемент
  4. удаляем ряд элементов, а затем восстанавливаем один из них
  5. и в конце удаляем все элементы

Восстановленные элементы занимают ту же память, что и соответствующие удаленные элементы. Процедура print_nt печатает переменную Nested Tables после инициализации и после каждой операции DELETE.

Пример метода DELETE с Associative Arrays

Следующий пример заполняет Associative Arrays, индексированный строкой, и удаляет все элементы, что освобождает выделенную им память. Затем пример заменяет удаленные элементы, то есть добавляет новые элементы, которые имеют те же индексы, что и удаленные элементы. Новые элементы замены не занимают ту же память, что и соответствующие удаленные элементы. Наконец, пример удаляет один элемент, а затем ряд элементов. Процедура print_aa_str показывает эффекты операций.