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

Откуда: СПб
Сообщений: 909
есть три таблицы
table1
- tr_id int
- tr_value float

table2
- id int
- tr_id int
- tr_msg varchar(100)

table3
- id int
- tr_id int
- tr_date datetime

table1 - это как бы основная таблица, и две зависимые - table2 table3, связанные с table1 по ключу tr_id

в хранимая процедура, формирует временную таблицу
tmp_table
- tr_value float
- tr_msg varchar(100)
- tr_date datetime

чтобы заполнить основную таблицу, достаточно
insert into table1 (tr_value)
select tr_value from tmp_table;

для связных таблиц, такого что-то не получается, так как сперва должна пройти вставка в table1, после чего становится известный ID этой строки (tr_id),и после чего я могу добавить связную запись в другие таблицы.

есть ли в mssql (2008 express), конструкция, позволяющая сделать это парой запросов, без курсоров ?
27 окт 09, 14:12    [7844547]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в несколько связных таблиц  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
курсор-то нахрена, забудте это слово ?
output кляузу.
27 окт 09, 14:16    [7844575]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в несколько связных таблиц  [new]
Anddros
Member

Откуда:
Сообщений: 1077
А если table1.tr_id - identity, то курите:

@@IDENTITY
IDENT_CURRENT()
SCOPE_IDENTITY()
27 окт 09, 14:19    [7844605]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в несколько связных таблиц  [new]
Кифирчик
Member

Откуда: СПб
Сообщений: 909
Ken@t
курсор-то нахрена, забудте это слово ?
output кляузу.

ой, супер, кляуза - то что надо! спасиб!
27 окт 09, 20:24    [7846623]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить