Обновляет содержимое полей значениями из массива переменных памяти..
REPLACE FROM ARRAY ArrayName [FIELDS FieldList] [Scope] [FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE] |
Пврвметры
- ArrayName
-
Задает имя массива, значения из которого замещают содержимое полей.
- FIELDS FieldList
-
Указывает, что данными из массива нужно заменять только поля, включенные в список FieldList. Если рабочая область не выбрана, то имена полей для такой таблицы должны предваряться псевдонимом таблицы.
- Scope
-
Задает диапазон записей, замещаемых содержимым массива. Для команды REPLACE FROM ARRAY диапазоном по умолчанию является текущая запись (NEXT 1).
Замещаются только записи, попадающие в указанный диапазон. Замены производятся до тех пор, пока не будет достигнута граница диапазона или конец массива.
Диапазон задается следующими предложениями: ALL, NEXT nRecords, RECORD nRecordNumber, и REST. Подробнее о предложениях диапазона смотрите Выражения диапазонов.
- FOR lExpression1
-
Указывает, что поля заменяются только в тех записях, для которых выражение lExpression1 имеет значение "истина" (.T.). Предложение FOR позволяет проводить условную замену записей, отфильтровывая ненужные записи. Замена производится в каждой записи, для которой lExpression1 имеет значение "истина" (.T.), или пока не кончится массив.
Технология Rushmore оптимизирует операцию REPLACE FROM ARRAY FOR, если lExpression1 является оптимизируемым выражением. В целях повышения производительности используйте в предложении FOR оптимизируемое выражение.
Подробнее смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.
- WHILE lExpression2
-
Задает условие, в соответствии с которым поля в записях замещаются содержимым массива, пока значением логического выражения lExpression2 остается "истина" (.T.).
- NOOPTIMIZE
-
Запрещает оптимизацию по технологии Rushmore.
Подробнее смотрите Команда SET OPTIMIZE и Использование оптимизации запросов Rushmore для ускорения доступа к данным.
Замечание
Команда REPLACE FROM ARRAY игнорирует memo-поля и поля типа General. Чтобы импортировать данные в эти поля, пользуйтесь командами GATHER и APPEND GENERAL.
Элементы массива, начиная с первого, замещают содержимое соответствующих полей записи. Первый элемент массива замещает первое поле записи, второй элемент массива замещает второе поле и т.д.
Если элементов в массиве меньше, чем полей в таблице, лишние поля игнорируются. Если в массиве больше элементов, чем полей в таблице, лишние элементы массива игнорируются.
![]() |
---|
Если указатель записи установлен в конце файла в текущей рабочей области, а вы задаете поле в другой рабочей области, никакие замены не производятся. |