![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите как склеить 2 таблицы [D7, Paradox]
TTLr © (2009-02-09 12:37:00)Пишется ПО, для приёма объявлений...
Работать будут в двух точках...
Имеются две базы с одинаковой структурой, которые нужно объединить в одну...
Вопрос, как это сделать???
clickmaker (2009-02-09 16:25:00) [1]GUID можно использовать как уникальный ключ
Anatoly Podgoretsky (2009-02-09 14:26:00) [2]> TTLr (09.02.2009 13:41:13) [13]
Ты должен сделать такое поле, в котором ты будешь писать все что посчитаешь нужным, в том числе и 1, 2, 3
Anatoly Podgoretsky (2009-02-09 14:25:00) [3]> Юрий Зотов (09.02.2009 13:32:12) [12]
> Основная задача - совместить первичные ключи.
Нафига при наличии всего одной таблицы ничего совмещать не надо.
Если действительно только одна таблица, то это задача для школьников.
Юрий Зотов (2009-02-09 13:50:00) [4]> TTLr © (09.02.09 13:48) [18]
Она в [15]. Надо добавить поле "ID подразделения" и включить его в ПК.
Sergey13 (2009-02-09 13:49:00) [5]> [18] TTLr © (09.02.09 13:48)
Так может материал в принципе не горюч? 8-)
TTLr (2009-02-09 13:48:00) [6]Да читаю я все. Просто не зажигается в голове та мысля, которая сейчас так нужна..
Юрий Зотов (2009-02-09 13:47:00) [7]> TTLr © (09.02.09 13:42) [14]
> как совместить эти ключи??
Обычно это делается головой. Например, ключи записей, сгенеренных в точке 1 - целые положительные, а в точке 2 - целые отрицательные. Совместимость и уникальность обеспечены. Другой вариант - ключом служит строковое поле, в которое входит некий идентификатор точки. Снова совместимость и уникальность обеспечены. И т.д. Короче, надо просто подумать.
Sergey13 (2009-02-09 13:46:00) [8]> [14] TTLr © (09.02.09 13:42)
> как совместить эти ключи??
А ты ответы читаешь?
ЗЫ: ИМХО пипец как заказчики налетели. 8-)
sniknik (2009-02-09 13:46:00) [9]> Основная задача - совместить первичные ключи.
это вообще не задача... разве что организационная - т.к. по любому нужно разделять подразделения, что отдельно, что в общей базе, а раз так то должен присутствовать идентификатор подразделения (номер), включаем его в ключ и все дела.
TTLr (2009-02-09 13:42:00) [10]
> Блин... лапти мы... нет у него никаких двух таблиц, а есть
> одна, только в двух точках - и ее надо синхронизировать.
> Репликация ему нужна.
>
> > TTLr
>
> Если есть готовые средства репликации, то их и надо использовать.
> А если их нет, то надо написать 2 дополнительные программки.
> Одна - пишет таблицу в файл, другая - читает этот файл
> и добавляет в таблицу отсутствующие в ней записи. Основная
> задача - совместить первичные ключи.
и как это сделать????
как совместить эти ключи??
TTLr (2009-02-09 13:41:00) [11]Так, ясно, можно и одним.
еще один вопрос: как задать ключевые поля???
и как сделать так, чтобы при добавлении строки, ее удалении, и добавлении еще одной нумерация строк была не:
1
2
4
а:
1
2
3
а так например было 10 строк с порядковыми номерами от 1 до 10
удалил 2-3 а потом добавил еще несколько
нумерация продолжается не с числа оставшихся строк а с общего количества которое было в начале.
создать таблицу можно в аксесе и экспортировать в парадокс. я так делаю.
Юрий Зотов (2009-02-09 13:32:00) [12]Блин... лапти мы... нет у него никаких двух таблиц, а есть одна, только в двух точках - и ее надо синхронизировать. Репликация ему нужна.
> TTLr
Если есть готовые средства репликации, то их и надо использовать. А если их нет, то надо написать 2 дополнительные программки. Одна - пишет таблицу в файл, другая - читает этот файл и добавляет в таблицу отсутствующие в ней записи. Основная задача - совместить первичные ключи.
Sergey13 (2009-02-09 13:31:00) [13]Select * from T1
Union All
Select * from T2
конечно
Sergey13 (2009-02-09 13:30:00) [14]> [4] TTLr © (09.02.09 13:08)
> модель опции цвет
А ключевые поля присутствуют?
Если просто показать все записи из двух таблиц то и "склеивать" ничего не нужно.
Select * from T2
Union All
Select * from T2
Сергей М. (2009-02-09 13:26:00) [15]
> надо 2 таблицы создавать?
Что, по-твоему, есть "создать таблицу" ?
> их не надо связывать между собой?
Это уж тебе решать.
> надо организовать цикл?
Опять же тебе решать. Иногда можно и одним запросом, см. [7]
> должно быть 2 цикла?
Почему не 3 ? Или не 30 ? Или не 0 ?
Объясни ход своей мысли..
TTLr (2009-02-09 13:22:00) [16]
> Прочитать запиь из таблицы-источника, записать прочитанное
> в таблицу-приемник.
> И так для всех записей.
Это по-любому надо 2 таблицы создавать?
А их не надо связывать между собой??
И наконец как я понимаю надо организовать цикл???
Короче надо чтобы две таблицы были открыты, читать из одной и вставлять в другую, должно быть 2 цикла????
Юрий Зотов (2009-02-09 13:21:00) [17]INSERT ... SELECT (если поддерживается)
Sergey13 (2009-02-09 13:15:00) [18]> [0] TTLr © (09.02.09 12:37)
А что, для какого-никакого коммерческого продукта (как я понял?) ничего лучше Парадокса не нашли?
вариант 1. Табличка с описанием твоих 2-х точек и ссылки на нее всех нужных местах. В принципе можно и без таблички, а прямо в таблице дефолтно присваивать полю уникальный идентификатор. Но это как то некузяво ИМХО.
выриант 2. Диапазоны непресекающихся значений для ключевых полей.
Сергей М. (2009-02-09 13:12:00) [19]Прочитать запиь из таблицы-источника, записать прочитанное в таблицу-приемник.
И так для всех записей.
TTLr (2009-02-09 13:08:00) [20]Регион такой. Интернет не везде.
1 таблица типа:
модель опции цвет
а б в
2 таблица типа:
модель опции цвет
г д е
таблица после склейки:
модель опции цвет
а б в
г д е
Как это реализовать???