Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
11.10.2014, 19:17
|
|||
---|---|---|---|
|
|||
Создание новой таблицы базы на основе периодического выбора из таблицы другой базы. |
|||
#18+
Добрый день прошу ткунть носом помочь в решении задачи. Суть такова: постоянно работающий процесс периодически скидывает в папку БД (sqlite) на некоторое время. Требуется выбрать новые данные из этой базы и перенести в БД - накопитель, с учетом проверки наличия записей в этой БД. То есть, например, файл temp.db с таблицей numbers Код: plsql 1. 2. 3. 4.
Получаем такое: id | number 1 89001001010 2 89002002020 3 89003003030 Также у нас есть база-накопитель full.db c одной таблицей numbersn (в которой, например, есть одна строка с таким же значением как и во временной базе, а также другие отличные строки) Код: plsql 1. 2. 3.
id | number 1 89001001010 2 89004004040 Это очень приблизительно, потому как в оригинале около номеров еще будут вторичные параметры, по которым тоже нужно будет искать и добавлять но уже к существующему номеру новые данные. Поэтому хочется разобраться хотябы на этой, казалось бы простой задаче. В качестве решения, которое мне пришло на ум предлагается вначале подключить две базы данных (накопительную вторичной, а временную основной ), а затем провести сравнение и вставку. Но у меня не хватает ума теоретических знаний.... Если б это был С# с текстовым файлом со строками я бы сделал за 5 минут. А тут - не могу (ни найти ни придумать как). Набросок примерного решения Код: plsql 1. 2. 3. 4. 5.
Если это прописные истины - прошу не смеяться, а помочь в решении. Заранее спасибо. Учится никогда не поздно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.10.2014, 20:35
|
|||
---|---|---|---|
Создание новой таблицы базы на основе периодического выбора из таблицы другой базы. |
|||
#18+
Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.10.2014, 00:55
|
|||
---|---|---|---|
|
|||
Создание новой таблицы базы на основе периодического выбора из таблицы другой базы. |
|||
#18+
спасибо огромное уважаемый! Все работает! А можно ли набраться наглости и попросить вас подумать над решением усложненного вида этой задачи: в исходной базе исходная таблица имеет столбцы номер и реквизиты номера (например имя). Решением будет после нескольких обработок получить две таблицы: в первой будут номера, и их уникальный номер (индекс), а во втором столбце будут реквизиты и рядом столбец с привязкой к уникальному номеру из первой (полученной) таблицы: Исходник tempdb (source_table) id | number | name 1 | 89001001010 | Вася 2 |89002002020 | Петя 3 | 89003003030 | Маша Исходник через некоторое время tempdb (source_table) id | number | name 1 | 89001001010 | Вася 2 | 89002002020 | Иванов 3 | 89004004040 | Вика Хотелось бы получить две таблицы в fulldb после двух обработок tempdb (source_table) (спустя некоторое время) target_table1 id | number | index 1 | 89001001010 | 1 2 |89002002020 | 2 3 | 89003003030 | 3 4 | 89004004040 | 4 target_table2 id | name | index 1 | Вася | 1 2 | Петя | 2 3 | Иванов | 2 4 | Маша | 3 5 | Вика | 4 Чтобы в итоге после запроса получить результат по поиску 89002002020 - Петя, Иванов Вопрос заключается в том, что как сделать привязку (index) "один-ко-многим" я знаю. Но не понимаю как сделать разграничение поиска и вставки по нескольким параметрам с сравнениями. Если что не так сказал, не обессудьте. "Я не волшебник, я только учусь...." ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=54&tablet=1&tid=2008740]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 135ms |
0 / 0 |