powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как обойти большой REPLACE ?
7 сообщений из 7, страница 1 из 1
Как обойти большой REPLACE ?
    #35260796
ArDo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго дня.
Имеется 2 таблицы с одинаковой структурой. Нужно запись в одной поменять на запись из другой. Таблицы широкие.
В голову , кроме большого REPLCE и пары SCATTER-GАTHER не приходит.

Есть решение поизящнее?
...
Рейтинг: 0 / 0
Как обойти большой REPLACE ?
    #35260803
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArDoВсем доброго дня.
Имеется 2 таблицы с одинаковой структурой. Нужно запись в одной поменять на запись из другой. Таблицы широкие.
В голову , кроме большого REPLCE и пары SCATTER-GАTHER не приходит.

Есть решение поизящнее?
А есть первичный ключ в таблицах?
С уважением, Алексей
...
Рейтинг: 0 / 0
Как обойти большой REPLACE ?
    #35260822
ArDoВсем доброго дня.
Имеется 2 таблицы с одинаковой структурой. Нужно запись в одной поменять на запись из другой. Таблицы широкие.
В голову , кроме большого REPLАCE и пары SCATTER-GАTHER не приходит.

Есть решение поизящнее?
Зависит от версии Фокса и от количества записей, которые надо менять.
Если это досовский Фокс и надо поменять только одну запись, то приведенное Вами решение, пожалуй, самое быстрое и лучшее
Если это Досовский Фокс и надо поменять несколько записей, то я бы сначала удалил записи из исходной таблицы, а затем по Append From залил необходимые записи из второй таблицы.
Если же надо поменять несколько записей в Визуальном Фоксе, то я бы смотрел в сторону Update-SQL или комбинации Delete-SQL (для удаления записей из первой таблицы) + Insert-SQL с подзапросом (Insert into ... select...) (Для вставки записей из второй таблицы).

Но: могут быть еще другие варианты....
...
Рейтинг: 0 / 0
Как обойти большой REPLACE ?
    #35260995
ArDo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ключи, конечно, есть.
Просто в таблицах более 100 полей и структура их время от времени меняется, но все равно совпадает.
Уточнение:
В обоих таблицах я уже спозиционирован на нужных записях.
...
Рейтинг: 0 / 0
Как обойти большой REPLACE ?
    #35261213
scelo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UPDATE em_pc ;
SET em_pc.c1 = cd_gr00101.gr_name2, em_pc.c2 = cd_gr00101.gr_name3, em_pc.em_dr6 = cd_gr00101.gr_cod4 ;
FROM cd_gr00101 ;
WHERE em_pc.em_cod31 = cd_gr00101.gr_COD1
...
Рейтинг: 0 / 0
Как обойти большой REPLACE ?
    #35261335
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArDoв таблицах более 100 полей и структура их время от времени меняется, но все равно совпадает.
В обоих таблицах я уже спозиционирован на нужных записях.
SCATTER-GАTHER именно то что надо для твоей задачи. Почему их не хочешь использовать?
...
Рейтинг: 0 / 0
Как обойти большой REPLACE ?
    #35261605
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> SCATTER-GАTHERНо только не в переменные, а в массив или лучше в
> объект (массив не подойдет, если очередность полей разная)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как обойти большой REPLACE ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]