Это зависит от того, что вы пытаетесь сделать ...
@@ IDENTITY
Возвращает последнее значение IDENTITY, созданное для соединения, независимо от таблицы, которая произвела значение, и независимо от области действия оператора, который произвел значение.
@@ IDENTITY вернет последнее значение идентификатора, введенное в таблицу в текущем сеансе. @@ IDENTITY ограничен текущим сеансом и не ограничен текущей областью. Например, если у вас есть триггер в таблице, который вызывает создание идентификатора в другой таблице, вы получите идентификатор, который был создан последним, даже если это был триггер, который его создал.
SCOPE_IDENTITY ()
Возвращает последнее значение IDENTITY, созданное для соединения и оператора в той же области, независимо от таблицы, которая произвела значение.
SCOPE_IDENTITY () похож на @@ IDENTITY, но он также ограничит значение вашей текущей областью действия. Другими словами, он вернет последнее значение идентификатора, которое вы явно создали, а не любое значение, созданное триггером или определенной пользователем функцией.
IDENT_CURRENT ()
Возвращает последнее значение IDENTITY, созданное в таблице, независимо от соединения и области действия оператора, создавшего значение. IDENT_CURRENT ограничен указанной таблицей, но не подключением или областью действия.