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

Откуда:
Сообщений: 36439
Добрый день.
Есть у меня 3 таблицы:

Таблица1

Id_t1
поле_t1



Таблица2

Id_t2
поле_t2


Таблица3

Id_t1
Id_t2

т.е. таблица 3 - что-то вроде таблицы связи между 1 и 2 (так нужно)

Теперь вопрос
Как при добавлении в Т1 получить запись в Т2 и сразу связать их в Т3?
Или уже для имеющихся записей в Т1 добавить записи в Т2 и сразу связать их в Т3?

Мысль пока только одна: тупо бежать курсором по Т1, добавлять запись в Т2 и по SCOPE_IDENTITY создавать запись в Т3
Но это долго. Можно ли как-то используя OUTPUT это сделать?
22 апр 16, 11:38    [19092591]     Ответить | Цитировать Сообщить модератору
 Re: Добавление данных о связкой к другой таблице  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
жЫвоглот,

а что мешает через OUTPUT?
22 апр 16, 11:42    [19092612]     Ответить | Цитировать Сообщить модератору
 Re: Добавление данных о связкой к другой таблице  [new]
жЫвоглот
Member

Откуда:
Сообщений: 36439
TaPaK
жЫвоглот,

а что мешает через OUTPUT?

вот я и думаю как
Пусть я заполнил Т1, потом заполняю Т2 запросом
INSERT INTO t_2 (поле_t2) SELECT поле_t1 FROM t_1

и как мне получить новые Id_t2,полученные при добавлении?
куда вписать OUTPUT inserted.Id_t2 чтобы было строгое сочетание в таблице связи Т3
22 апр 16, 11:50    [19092657]     Ответить | Цитировать Сообщить модератору
 Re: Добавление данных о связкой к другой таблице  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
жЫвоглот,

автор
Как при добавлении в Т1 получить запись в Т2 и сразу связать их в Т3?

при добавлении в T1 забираете в OUTPUT идентификатор, вставляете в Т2 забираете в OUTPUT идентификатор, вставляете из таблицы полученной из OUTPUT в T3... как работать с OUTPUT описано в мсдн
22 апр 16, 11:55    [19092686]     Ответить | Цитировать Сообщить модератору
 Re: Добавление данных о связкой к другой таблице  [new]
жЫвоглот
Member

Откуда:
Сообщений: 36439
TaPaK
жЫвоглот,

автор
Как при добавлении в Т1 получить запись в Т2 и сразу связать их в Т3?

при добавлении в T1 забираете в OUTPUT идентификатор, вставляете в Т2 забираете в OUTPUT идентификатор, вставляете из таблицы полученной из OUTPUT в T3... как работать с OUTPUT описано в мсдн

это ели добавлять по одной записи
а если целым запросом тоже сработает?
тут я посмотрел, у меня часть записей в Т1 уже есть, надо для них создать связанные в Т2
22 апр 16, 12:00    [19092712]     Ответить | Цитировать Сообщить модератору
 Re: Добавление данных о связкой к другой таблице  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
жЫвоглот
TaPaK
жЫвоглот,

пропущено...

при добавлении в T1 забираете в OUTPUT идентификатор, вставляете в Т2 забираете в OUTPUT идентификатор, вставляете из таблицы полученной из OUTPUT в T3... как работать с OUTPUT описано в мсдн

это ели добавлять по одной записи
а если целым запросом тоже сработает?
тут я посмотрел, у меня часть записей в Т1 уже есть, надо для них создать связанные в Т2


"это ели добавлять по одной записи" где сказано? прочтите msdn

"тут я посмотрел, у меня часть записей в Т1 уже есть, надо для них создать связанные в Т2" либо ехать либо шашечки. Сделайте инициализацию до нормального состояние, остальное будет жить само
22 апр 16, 12:03    [19092731]     Ответить | Цитировать Сообщить модератору
 Re: Добавление данных о связкой к другой таблице  [new]
жЫвоглот
Member

Откуда:
Сообщений: 36439
TaPaK,

спасибо, буду рыть в эту сторону
22 апр 16, 12:25    [19092863]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить