Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

UPDATE для всей таблицы [D6, dBase, FoxPro, Paradox]


Yuri Btr ©   (2002-06-12 12:56:00) 

Уважаемые мастера, возможно ли такое:
Есть 2 таблицы:
":test:modifyed.dbf" new
":test:original.dbf" old
с полями F1,F0
Мне нужно во всей таблице old приравнять значения поля F1, к значению F1 из new, где new.F0=old.F0
Я пишу следующее:

UPDATE ":test:original.dbf"
SET F1=(SELECT new."F1"
FROM ":test:modifyed.dbf" new, ":test:original.dbf" old
WHERE old."f0"=new."f0")

но как я понял UPDATE...SET позволяет изменять только одну строку. А как мне связать таблицы по полю F0 и приравнять их поля F1
Заранее спасибо.


Johnmen   (2002-06-13 12:04:00) [1]

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1023770848&n=1


Fishka   (2002-06-13 11:56:00) [2]

>но как я понял UPDATE...SET позволяет изменять только одну строку
Неправильно. UPDATE...SET позволяет изменять все строки в таблице. Для изменения только некоторых необходимо условие WHERE.


Yuvich   (2002-06-12 14:41:00) [3]

Нужно сделать old и new коррелируемыми. Я бы переписал update так:

UPDATE ":test:original.dbf" old
SET F1=(SELECT new."F1"
FROM ":test:modifyed.dbf" new
WHERE old."f0"=new."f0")


Наверх

Титульная страница Поиск, карта сайта Написать письмо