У меня есть таблица SQL, которую я использую как очередь, с одним из столбцов как XMLType. Что я пытаюсь сделать с таблицей, так это создать программу для извлечения определенной части данных c, итерации по таблице, чтения информации и удаления строки после того, как я закончу. Я не могу просто стереть всю таблицу после того, как я закончу, потому что не все данные должны быть удалены.
Мое текущее решение:
FOR xml_data FROM (SELECT xml_column from table_a)
LOOP
-- Process the data
...
--- Delete the row
DELETE FROM table_a where xml_column = xml_data.xml_column;
END LOOP;
Однако я сталкиваюсь с проблема с частью удаления, которая выдает ошибку:
Error report -
ORA-22950: cannot ORDER objects with MAP or ORDER method
...
Action: Define a MAP or ORDER method for the object type
Кто-нибудь знает, что решение для этого? Я также открыт для других решений, чтобы удалить строку после итерации по ней.
РЕДАКТИРОВАТЬ: Исправить код