Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 вставка данных в родительскую и доченюю таблицы  [new]
vext
Guest
declare @id int
insert into person values(Firstname, Lastname)
set @id=@@Identity
insert into employee(id, AnnualSalary, IsActive)

Может быть такое, что после добавления данных в таблицу person и перед тем добавлением дочерней записи в employee, кто-то кто-то также вставляет запись в person и значение @@Identity уже равно значению идентификатора другой последней вставленной записи, а не той, которая нам нужна? Здесь нужна блокировка?
3 янв 06, 22:27    [2228208]     Ответить | Цитировать Сообщить модератору
 Re: вставка данных в родительскую и доченюю таблицы  [new]
vext
Guest
упс, извиняйте за опичатки :)

...
declare @id int
insert into person values(@Firstname, @Lastname)
set @id=@@Identity
insert into employee(@id, @AnnualSalary, @IsActive)
...
3 янв 06, 22:29    [2228213]     Ответить | Цитировать Сообщить модератору
 Re: вставка данных в родительскую и доченюю таблицы  [new]
ROMAN GUEST
Guest
в данном случае видимо лучше использовать scope_identity()

а почему - можно прочитать здесь http://rsdn.ru/article/db/identity.xml
3 янв 06, 23:35    [2228241]     Ответить | Цитировать Сообщить модератору
 Re: вставка данных в родительскую и доченюю таблицы  [new]
vext
Guest
Спасибо!
теперь все стало ясно.
4 янв 06, 00:24    [2228272]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить