Вы не можете добраться отсюда. По крайней мере, не напрямую ....
Как сказал lhf , вы можете изменять или удалять записи при обходе таблицы, но не можете их добавлять. Результаты ... не определены. (Читайте: переход в гиперпространство или эквивалент для всех практических целей.)
Если вы настаиваете на возможности добавления записей, вам придется клонировать таблицу и использовать одну копию для итерации, а другую - для отслеживания ваших вставок и удалений. Если это само по себе не соответствует вашим требованиям, вам придется сделать что-то вроде этого:
- Создать пустую таблицу для добавления таблиц.
- Начните итерацию по основному столу.
- Когда вы найдете записи, которые хотите изменить, измените их на месте. (Это разрешено.)
- Когда вы найдете записи, которые хотите удалить, удалите их на месте. (Это разрешено.)
- Найдя записи, которые вы хотите добавить, добавьте их в другую таблицу, которая началась с пустой строки.
- Когда вы закончите итерацию, объедините таблицу сложений с основной.
- Lather. Полоскание. Повторите.
Существуют и другие похожие шаблоны с немного другими правилами, которые вы можете использовать. Например, между шагами 5 и 6 может потребоваться вставить рекурсивный вызов в код обхода таблицы для добавленных записей таблицы перед объединением и т. Д. Возможно, вам также придется отслеживать возможные удаления как в основной таблице, так и в таблице добавлений. если это возможное взаимодействие.