SELECT @@ IDENTITY
возвращает последнее значение IDENTITY производится на связи, независимо от таблицы, полученной значение, и независимо от объем заявления, который дал значение. @@ IDENTITY вернет последнее значение идентификации, введенное в таблицу в вашей текущей сессии. Хотя @@ IDENTITY ограничивается текущим сеансом , он не ограничен текущей областью. Если у вас есть триггер в таблице, которая вызывает создание идентичности в другой таблице, вы получите , который был создан последним, даже если это был созданный им триггер .
ВЫБОР SCOPE_IDENTITY()
Она возвращает последнее значение IDENTITY, полученное на соединение и заявление в том же объеме, независимо от таблицы, которые получают значение. SCOPE_IDENTITY(), например @@ IDENTITY, будет вернет последнее значение идентификации, созданное в текущем сеансе, но оно также будет ограничено и вашей текущей областью, но . Другими словами, он вернет последнее значение идентификатора, которое вы явно создали, , а не любое удостоверение, созданное триггером или пользователем определенная функция.
ВЫБРАТЬ IDENT_CURRENT («имя_таблицы»)
возвращает последнее значение IDENTITY производится в таблице, независимо от соединения, создавшего значение , и независимо от объема заявления, которое произвело значение.IDENT_CURRENT не ограничивается областью и сеансом; это ограничивается указанной таблицей. IDENT_CURRENT возвращает значение идентификатора , сгенерированное для конкретной таблицы в любом сеансе и в любой области.
Какая база данных? SQL Server? MySQL? Oracle? У них есть разные функции для достижения этого. –
Для SQL Server см. [Ссылка] (http://blog.sqlauthority.com/2007/03/25/sql-server-identity-vs-scope_identity-vs-ident_current-retrieve-last-inserted-identity-of- record /) –
MS SQL Server 2008 R2 Express – Jacek