devxlogo

Obtain the Correct Identity Column Value for a Newly Inserted Row

Obtain the Correct Identity Column Value for a Newly Inserted Row

Both select scope_identity and select @@identity return the identity column value of a newly inserted row. However, @@identity is not reliable because it works in a session level.

So, suppose stored procedure sp1 contains an insert statement, and after the insert statement, there is a call to another stored procedure, sp2.

Assume that sp2 also contains insert statement. Now at the end of sp1, retrieving sp2 not for sp1. But using select scope_identity() results in the identity column value for the insert statement in sp1.

This is why it’s always preferable to use select scope_identity() instead of select @@identity.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist