SCOPE_IDENTITY, IDENT_CURRENT, and @@IDENTITY are almost similar functions because they all return values that are inserted into identity columns but there is some slightly difference between these.
SCOPE_IDENTITY: It returns last identity value inserted into an identity column in the same scope. A scope is a module: a stored procedure, trigger, function, or batch. Therefore, two statements are in the same scope if they are in the same stored procedure, function, or batch.
IDENT_CURRENT: It returns the last identity value generated for a specified table in any session and any scope.
@@IDENTITY: It returns the last identity value for the current session. it does not check the scope.

senthil dhaktchinaPosted Mar 20, 2013, 5:49 AM
Nice one.. 1.When we use the IDENT_CURRENT , it will return the last identity value generated for a specific table in any session and any scope. 2.When we use the @@IDENTITY , it will return the last identity value generated for any table in the current session, across all scopes. 3.When we use the SCOPE_IDENTITY, it will return the last identity value generated for any table in the current session and the current scope. pls have a look at this for info:- http://senthilvijayalakshmi.blogspot.in/2013/03/difference-between-identcurrent.html