Обновление данных таблицы

  • Автор темы Автор темы Aleksis
  • Дата начала Дата начала

Aleksis

Guest
Обновление данных таблицы

Есттьтаблица данных.Каждый месяц нужно обновлять обновление данные.(сотрудники новые,другие уволняются,меняются номера телефонов и должности). С 1с снимается новая dbf к концу месяца.Надо корректно заменить старую таблицу новой(сотрудники которые уволились -их удалять,новых вставить,а так же оставить тел. номера и поменять должности если такое есть)

как думаю:
1.переименовать старую таблицу в temp таблицу.
2.создать новую таблицу со старым названием и импортировать dbf
3.так как в новой таблице с новой dbf уже удалены уволившие сотрудники и внесены изменения по перемещению кадрового сотава,а также добавлены новые сотрудники ,остается только со старой таблицы(таблица temp) забрать тел.номера и внести их в новую таблицу.

Может есть другой алгоритм?
 
Хранить все данные в одной таблице, продумав ее структуру.

К примеру - фиксировать изменения в должности, увольнения и т.п. Сами данные не удалять иначе историю изменеий не построишь.
 
Хранения данных осуществляется в другой базе,в моем случае(телефонный справочник) нужно просто свежие данные за месяц
 
С 1с снимается новая dbf к концу месяца.Надо корректно заменить старую таблицу новой(сотрудники которые уволились -их удалять,новых вставить,а так же оставить тел. номера и поменять должности если такое есть)
--------------------------------------------------------------------------------
Зачем переименовывать старую и создавать новую таблицу?
Сохраняй dbf в файл в нужном порядке и загружай в базу,
а при загрузке по условию равенства Фамилии Имя Отчества
Оставшихся UPDATE , а уволившихся, хочешь DELETE, а хочешь
Просто отключай(для ентого понадобится доп поле в таблице)
 
vaucher
Так я просто перепишу данные, строка с фамилией именем Отчеством из dbf не попадет именно в ту строку,где Иванову соответствует номер телефона,получится так,что это номер уже не у иванова,а у сидорова.Поэтомуи сохраняюю старую таблицу,чтоб потом номера вытащить строго по фамилиям
 
Aleksis

Я же тебе говорю - продумай структуру. Она не обязательно должна совпадать с той, что в DBF файле.

Сперва реши что является первичным ключом - например ФИО. Или может номер телефона?

Реши что именно тебе нужно делать и возвращайся. Если же тебе просто нужно импортировать новые данные - тогда зачем тебе вообще старые?

Если же ты хочешь сделать какого-то рода репликацию данных - то нужно точно определиться что хочешь получить в итоге.
 
Таблица используется как телефонный справочник,то есть нужно не потярять номера .Затем в течение месяца забиваются добавачные номера к новым сотрудникам..То есть у меня уже есть исходная dbf с новыми сотрудниками(весь нужный состав,(там и старые и новые работники,с текущими должностями) ,надо просто занести одно поле--номера со старой таблицы.
 
Ну так в чем проблема?

Зачем данные нужно переносить рядами?

Читай новую таблицу, и меняй в старой поле телефон у той записи у которой поле ФИО совпадает с полем ФИО новой таблицы

да и потом 1C есть уникальный ключ в таблицах?
Если есть, то можно традиционно его использовать.
 
да в 1с есть уникальный ключ.А как делать запрос,через insert или replace? заменить строки поле tel tabl1 на строки поля tel tabl2 где id1c tabl1 равен id1c tabl2
 
Aleksis
Как хочешь так и делай. Тебе направление дали - запросы сам напишешь. Сделай бэкап и экспериментируй как для тебя будет лучше.
 
Сверху