Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как культурно провести преобразование данных?  [new]
M0us
Member

Откуда: Moscow
Сообщений: 883
При импорте данных нужно произвести все таким образом:

из #tab1(tab1ID int, tab1Name nvarchar) и #tab2(tab2ID int, tab1ID int, tab2Name nvarchar)
нужно все запихнуть в таблицы

tab1(tab1ID int IDENTITY, tab1Name nvarchar) и tab2(tab2ID int IDENTITY, tab1ID int, tab2Name nvarchar)

(я думаю понятно по каким полям связаны tab1 и tab2).

После добавления данных в tab1 (значения tab1ID генерятся автоматически) как культурно добавить данные в tab2 (значения tab2ID генерятся автоматически) с учетом уже новых tab1.tab1ID.

Сразу скажу что через пазу запросов все сделать не получится, так как #tab2.tab2Name нужно колбасить через курсор чтобы выдирать оттуда ID.
(что то вроде этого 2329#2330#2327#2326#2325#2328# перелопатить в ID)
17 май 05, 12:22    [1546917]     Ответить | Цитировать Сообщить модератору
 Re: Как культурно провести преобразование данных?  [new]
M0us
Member

Откуда: Moscow
Сообщений: 883
подскажите плиз саму логику...
а остатьное я сам нарисую...
17 май 05, 12:22    [1546921]     Ответить | Цитировать Сообщить модератору
 Re: Как культурно провести преобразование данных?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
Добавить в tab1 поле, которое будет содержать #tab1.tab1ID, после чего найти вновь вставленные записи не составит особого труда.
17 май 05, 12:24    [1546924]     Ответить | Цитировать Сообщить модератору
 Re: Как культурно провести преобразование данных?  [new]
M0us
Member

Откуда: Moscow
Сообщений: 883
Добавить в tab1 поле, которое будет содержать #tab1.tab1ID, после чего найти вновь вставленные записи не составит особого труда.


Дело в том, что в tab1 много записей и точно идентифицировать свои сложно.
Если только что-нибудь вроде построчно обновлять #tab1.tab1ID=SCOPE_IDENTITY( )

да?
17 май 05, 12:29    [1546955]     Ответить | Цитировать Сообщить модератору
 Re: Как культурно провести преобразование данных?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
M0us
Добавить в tab1 поле, которое будет содержать #tab1.tab1ID, после чего найти вновь вставленные записи не составит особого труда.


Дело в том, что в tab1 много записей и точно идентифицировать свои сложно.
Если только что-нибудь вроде построчно обновлять #tab1.tab1ID=SCOPE_IDENTITY( )

да?

Да нет, когда вливаете в tab1 записи, сохраняте еще и исходный id из темповой табличке. Потом простым джоином найдете свежевсатвленные записи и х новые айдишники. Единственная проблема - не забывайте каким-либо обоазом чистить это поле, а то всякое бывает ...
17 май 05, 12:32    [1546980]     Ответить | Цитировать Сообщить модератору
 Re: Как культурно провести преобразование данных?  [new]
M0us
Member

Откуда: Moscow
Сообщений: 883
ок.
попробую таким образом.
спасибо
17 май 05, 14:09    [1547642]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить