Все это конечно здорово, но, как правило, просто
уникально идентифицировать запись недостаточно, необходимо еще связать эту
запись с записью из другой таблицы по этому самому идентификатору. А для этого
надо уметь получать этот идентификатор сразу же после его генерации. Для
выполнения этой задачи в Microsoft SQL Server существуют 3 функции: @@IDENTITY, SCOPE_IDENTITY() и IDENT_CURRENT().
Функция @@IDENTITY возвращает последнее значение, записанное севером в автоинкрементный столбец в текущей сессии. Что это
означает? Если между вызовом INSERT и вызовом @@IDENTITY успеет пролезть
вставка из другой сессии, то @@IDENTITY вернет идентификатор, который был
записан при первой вставке. То есть, при пользовании @@IDENTITY нет
необходимости заботиться о том, что параллельные вставки будут мешать друг
другу при получении правильных идентификаторов, сервер все сделает сам.
---- Session 1:
INSERT INTO Ident_table (some_values) VALUES ('value 5')
---- Session 2:
INSERT INTO Ident_table (some_values) VALUES ('value 6')
---- Session 1:
SELECT @@IDENTITY as [Last ID in session]
SELECT * FROM Ident_table
--- результат:
Last ID in session
----------------------------------------
7
(1 row(s) affected)
Рекомендуем скачать другие рефераты по теме: скачать доклад на тему, решебник по математике класс виленкин.