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

Откуда: Йошкар-Ола
Сообщений: 30
У меня две таблицы, связанные отношением один-к-одному.
В первой таблице поле ElementID первичный ключ, во второй оно же - внешний.
А новую запись нужно внести в обе таблицы
Сейчас я делаю так: вставляю запись в первую таблицу, беру значение глобальной переменной
@@IDENTITY
, потом вношу запись во вторую с этим ключом.

А нельзя ли как-то это сделать поизящнее -одним выражением ?
4 сен 12, 17:21    [13113275]     Ответить | Цитировать Сообщить модератору
 Re: как вставить записи сразу в две таблицы, связанные отношением "один-к-одному" ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
INSERT ...
OUTPUT
...
4 сен 12, 17:24    [13113294]     Ответить | Цитировать Сообщить модератору
 Re: как вставить записи сразу в две таблицы, связанные отношением "один-к-одному" ?  [new]
super-code
Member

Откуда:
Сообщений: 244
Если одна таблица продолжение другой, то надо вставлять в транзакции:

begin tran
insert t1...
insert t2
commit
5 сен 12, 11:30    [13116186]     Ответить | Цитировать Сообщить модератору
 Re: как вставить записи сразу в две таблицы, связанные отношением "один-к-одному" ?  [new]
super-code
Member

Откуда:
Сообщений: 244
2. Вместо identy использовать output при insert, как уже написали выше.
5 сен 12, 11:31    [13116193]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить