powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обновить данные в таблице
6 сообщений из 6, страница 1 из 1
Обновить данные в таблице
    #34587647
необходимо обновить столбец обной таблицы (sp_mc.name) данными из столбца другой таблицы (cur_tmp.name)
делаю через UPDATE
Код: plaintext
1.
UPDATE sp_mc SET sp_mc.name = cur_tmp.name WHERE sp_mc.nnum=cur_tmp.nnum
результат: при каждом клике на кнопке обновляются не все записи, а только одна первая запись...

делаю через REPLACE
Код: plaintext
1.
REPLACE ALL sp_mc.name WITH cur_tmp.name FOR sp_mc.nnum=cur_tmp.nnum
результат: не обновляется вообще ничего....

?????? чего я запарил под утро.....
...
Рейтинг: 0 / 0
Обновить данные в таблице
    #34587686
skelo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
use d:\eias_iz\cd_gr00101 in 1 && Ýòî ñïðàâî÷íèê
select 1 &&
delete tag all
index on gr_COD1 tag gr_COD1

use d:\eias_iz\em_pc00520 in 2 && Ýòî îñíîâíàÿ áàçà
select 2
delete tag all
index on EM_COD31 tag EM_COD31

select 2 &&
SET RELATION TO EM_COD31 INTO cd_gr00101
scan &&
replace c1 with cd_gr00101.gr_name2
replace c2 with cd_gr00101.gr_name3
replace c3 with cd_gr00101.gr_cod4
endscan &&
...
Рейтинг: 0 / 0
Обновить данные в таблице
    #34587815
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
На прошлой неделя я задавал абсолютно тот же вопрос. Вот ответ:
UPDATE Target
SET Column_Name1 = eExpression1 [, Column_Name2 = eExpression2 ...]
[FROM [FORCE] Table_List_Item [[, ...] | [JOIN [ Table_List_Item]]]
WHERE FilterCondition1 [AND | OR FilterCondition2 ...]

с использованием [FROM [FORCE] обновило все со всеми, а не только с первой.
...
Рейтинг: 0 / 0
Обновить данные в таблице
    #34588259
у меня VFP8 и конструкция с FROM не поддерживается....:(

чё далать-то? :) неужели вариант с UPDATE здесь не катит?

ЗЫ. а вариант через SCAN оставил на "чёрный день"....
...
Рейтинг: 0 / 0
Обновить данные в таблице
    #34588436
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
через REPLACE надо так (если индекс по cur_tmp.nnum есть)
Код: plaintext
1.
2.
3.
4.
set order to nnum in cur_tmp
sele sp_mc
set rela to nnum into cur_tmp
REPLACE FOR sp_mc.nnum=cur_tmp.nnum sp_mc.name WITH cur_tmp.name
set rela to
Работает даже в FPD, но только учти cur_tmp.nnum должно быть уникально и если будет cur_tmp.nnum = 0, то cur_tmp.name этой записи заменит sp_mc.name записей для которых нет sp_mc.nnum=cur_tmp.nnum
...
Рейтинг: 0 / 0
Обновить данные в таблице
    #34588494
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T... и если будет cur_tmp.nnum = 0, то cur_tmp.name этой записи заменит sp_mc.name записей для которых нет sp_mc.nnum=cur_tmp.nnum
Тут я немного приврал :)
Правильно так: для записей с sp_mc.nnum=0 в sp_mc.name запишется пустая строка если не будет записи cur_tmp.nnum = 0
Вобщем надо следить чтобы 0 в nnum не попал, т.к. при таком подходе NULL никак не появится.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обновить данные в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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