обновление таблицы в VFP - PullRequest
       32

обновление таблицы в VFP

0 голосов
/ 23 сентября 2018

В моей базе данных есть две таблицы.Я пытаюсь обновить столбец в таблице2, установив его равным одному из столбцов в таблице1.Я уже посмотрел на этот ответ visual foxpro - нужно обновить таблицу из другой таблицы И попытался сделать это в моем коде, однако у меня продолжала возникать синтаксическая ошибка в UPDATE table2.Зачем?Вот что у меня есть.

ALTER TABLE table2;
ADD COLUMN base2 B(8,2);
UPDATE table2
WHERE table2.itemid=table1.itemid from table1;
SET table2.base2=table1.base;

Ответы [ 3 ]

0 голосов
/ 23 сентября 2018

Используя «стандартный» синтаксис языка VFP и связанные таблицы, вы можете довольно легко сделать следующее:

USE Table1 IN 0 EXCLUSIVE
SELECT Table1
INDEX ON ID TAG ID  && Create Index on ID field
USE Table2 IN 0
SELECT Table2
SET RELATION TO ID INTO Table1
REPLACE ALL Table2.ID WITH Table1.ID FOR !EMPTY(Table2.ID)  

Возможно, вы захотите потратить некоторое время на просмотр бесплатных онлайновых обучающих видео по адресу: Learn Visual Foxpro @ garfieldhudson.com
Видео названо:
* Создание простого приложения - Pt.5
и
* Вопросы и ответы: использование связанных таблиц в отчете
Оба обсуждают использование языка VFP для работы с соответствующими таблицами

Удачи

0 голосов
/ 24 сентября 2018

Самый простой синтаксис:

update table2 from table1 where table2.itemid = table1.itemid ;
set table2.base2 = table1.base

Вы также можете добавить дополнительные поля для обновления, разделенные запятыми, то есть

... set table2.base2 = table1.base, table2.this = table1.that
0 голосов
/ 23 сентября 2018

Использовать соединение

          Update table2 b 
         Join table1 a on b. Itemid=a.itemid
          Set b. Base2=a.base
...