powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обьединение баз в одну
23 сообщений из 23, страница 1 из 1
Обьединение баз в одну
    #33408600
Dima_ADMin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 54 dbfки нужно слить в одну, в табличке 4 столбца, народ помогите написать программку, плиз, я начинающий.
Пользуюсь Visio FoxPro 8
очень надо, на работе засада
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408637
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если формат таблиц одинаковый, то самое простое так :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
INSERT INTO TablDest (...) ;
SELECT .... FROM TableSrc1 ;
UNION ALL ;
SELECT .... FROM TableSrc2 ;
UNION ALL ;
SELECT .... FROM TableSrc3 ;
...
UNION ALL ;
SELECT .... FROM TableSrc54
С уважением, Алексей
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408711
Dima_ADMin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей, непонятки:
TableSrc - это исходные таблицы?
TablDest - это куда пишем?
(...) - а тут что?
я только начинаю.
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408734
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT .... FROM TableSrc1 ;
UNION ALL ;
SELECT .... FROM TableSrc2 ;
UNION ALL ;
SELECT .... FROM TableSrc3 ;
...
UNION ALL ;
SELECT .... FROM TableSrc54 ;
INTO TABLE INSERT TablDest
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408774
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(....) - перечисление полей таблицы:
Код: plaintext
1.
2.
INSERT INTO TablDest (FledD1, FiledD2, FiledD3) ;
SELECT FieldS1, FieldS2, FieldS3 ;
FROM TableSrc1
FledD1 - название первого поля таблицы - приемника,
FledD2 - название второго поля таблицы - приемника,
и так далее....
FledS1 - название первого поля первой таблицы - источника,
FledS2 - название первого поля первой таблицы - источника,
и так далее....
Типы соответствующих полей (первое из TablDest с первым из TableSrc1 и так далее) должны быть совместимого типа

С уважением, Алексей
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408826
Dima_ADMin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
он ругается на первую строчку UNION ALL
гооврит не коректная
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408829
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima_ADMinон ругается на первую строчку UNION ALL
гооврит не коректная
А какая версия VFP ?
С уважением, Алексей
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408835
Dima_ADMin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
8
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408837
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виноват, версию вы привели (VFP 8.0).
Приведите ваш код команды.
С уважением, Алексей
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408866
Dima_ADMin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
set defa to c:\DATA
INSERT INTO itog.dbf (NPOR, LIC_S, GR, FAM);
SELECT NPOR, LIC_S, GR, FAM FROM 115.DBF;
union all;
SELECT NPOR, LIC_S, GR, FAM FROM 116.dbf
если лить в память то не ругается, а если в базу до ругается
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408919
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблицу назначения откройте командой USE ... IN 0
А команде INSERT INTO ... не надо ставить расширение (DBF):
Код: plaintext
1.
2.
3.
4.
5.
USE itog IN  0 
SELECT itog
INSERT INTO itog (NPOR, LIC_S, GR, FAM);
SELECT NPOR, LIC_S, GR, FAM FROM  115 .DBF;
union all;
SELECT NPOR, LIC_S, GR, FAM FROM  116 .dbf
С уважением, Алексей
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408949
Dima_ADMin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всеравно ругается, в буфер грузит, а в базу нет
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408958
Dima_ADMin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
он пишет command contanins unrecognized phrase/keyword
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408960
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам запрос без INSERT INTO проходит?
Задокументируйте строку с INSERT INTO .... и выполните только SELECT ....
Что получилось ?
С уважением, Алексей
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33408972
Dima_ADMin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
set defa to c:\DATA
USE itog IN 0
SELECT itog
*INSERT INTO itog (NPOR, LIC_S, GR, FAM)
SELECT NPOR, LIC_S, GR, FAM FROM 115;
UNION ALL;
SELECT NPOR, LIC_S, GR, FAM FROM 116


вот так работает выдает табличку, а сели раскоментировать то ругается
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33409002
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, все правильно UNION в INSERT INTO... появился только с VFP 9.0
Извините, что морочил вам голову, но это вариант не пройдет :(

Код: plaintext
1.
2.
3.
4.
5.
UNION Clause in the INSERT - SQL Command
In Visual FoxPro  9 . 0 , a UNION clause is now supported in the INSERT - SQL Command. 

The following is the general syntax for the UNION clause.

INSERT INTO … SELECT … FROM … [UNION SELECT … [UNION …]]

С уважением, Алексей
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33409045
Dima_ADMin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И ЧО ДЕЛАТЬ
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33409052
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще разок :)
AleksMed
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT .... FROM TableSrc1 ;
UNION ALL ;
SELECT .... FROM TableSrc2 ;
UNION ALL ;
SELECT .... FROM TableSrc3 ;
...
UNION ALL ;
SELECT .... FROM TableSrc54 ;
INTO TABLE TablDest
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33409067
Dima_ADMin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЭТО НЕ КАТИТ 8 НА union РУГАЕТСЯ
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33409079
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
8-ки у меня нету. На 7-ке работает. Напиши как ругается или поставь перед селектом совместимость с ранними версиями. А еще есть ограничение на количество UNION
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33409107
Dima_ADMin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AleksMed8-ки у меня нету. На 7-ке работает. Напиши как ругается или поставь перед селектом совместимость с ранними версиями. А еще есть ограничение на количество UNION
С 5 UNION ЗАРАБОТАЛО,
ОГРОМНОЕ СПАСИБО, ВСЕ ПОЛУЧИЛОСЬ, ТЕПЕРЬ ЕСЛИ ЧТО БУДУ ОБРАЩАТЬСЯ ОБЯЗАТЕЛЬНО НА ЭТОТ ФОРУМ. еЩЕ РАЗ СПАСИБО ВСЕМ
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33409950
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Dima_ADMin!

Помоему если структуры одинаковы, то проще всего тривиальным APPEND FROM ...
слить в одну таблицу и всё.
Причем можно сделать в программе ADIR() и потом цикл по строкам массива -
чтоб фокс сам вынул имена всех DBF-ов (по шаблону например) и их все в один
новый dbf слил.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Обьединение баз в одну
    #33410110
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMed8-ки у меня нету. На 7-ке работает. Напиши как ругается или поставь перед селектом совместимость с ранними версиями. А еще есть ограничение на количество UNION
Дело не в этом, это две разные команды INSERT NTO TablDest ... SELECT и SELECT .. INTO TABLE TablDest...
В первом варианте таблица TablDest должна существовать ДО команды, а во втором она будет создана заново и все данные старые будут УДАЛЕНЫ при выполнении этой команды.
С уважением, Алексей.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обьединение баз в одну
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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