Skip to content

Bits of .NET

Daily micro-tips for C#, SQL, performance, and scalable backend engineering.

  • Asp.Net Core
  • C#
  • SQL
  • JavaScript
  • CSS
  • About
  • ErcanOPAK.com
SQL

SQL Tip: “@@IDENTITY” should not be used

- 03.12.22 - ErcanOPAK

@@IDENTITY returns the last identity column value created on a connection, regardless of the scope. That means it could return the last identity value you produced, or it could return a value generated by a user-defined function or trigger, possibly one fired because of your insert. In order to access the last identity value created in your scope, use SCOPE_IDENTITY() instead.

Bad Example:

INSERT ...

SET @id = @@IDENTITY  -- Noncompliant

Good Example:

INSERT ...

SET @id = SCOPE_IDENTITY()

 

Related posts:

Get the count of Duplicate Records in SQL

What does COALESCE do in SQL?

Get the row number "x" from SQL

Post Views: 4

Post navigation

SQL Tip: “NOCOUNT” should be activated on “PROCEDURE” and “TRIGGER” definitions
How to align inconsistently sized logos with CSS

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

December 2025
M T W T F S S
1234567
891011121314
15161718192021
22232425262728
293031  
« Nov    

Most Viewed Posts

  • Get the User Name and Domain Name from an Email Address in SQL (915)
  • Get the First and Last Word from a String or Sentence in SQL (798)
  • How to select distinct rows in a datatable in C# (773)
  • How to add default value for Entity Framework migrations for DateTime and Bool (773)
  • How to make theater mode the default for Youtube (602)
  • Add Constraint to SQL Table to ensure email contains @ (558)
  • How to enable, disable and check if Service Broker is enabled on a database in SQL Server (535)
  • Average of all values in a column that are not zero in SQL (505)
  • Find numbers with more than two decimal places in SQL (421)
  • How to use Map Mode for Vertical Scroll Mode in Visual Studio (416)

Recent Posts

  • Visual Studio “F5 Takes Forever” — IIS Express Cache
  • WordPress Slow First Load — Autoloaded Options Table
  • Windows 11 Laptop Overheats — Turbo Boost Gone Wrong
  • Windows 11 Slow Context Menu — The Explorer Extension Trap
  • AJAX “Works Once, Then Fails” — Cached POST Response
  • JS Memory Leaks — Forgotten Event Listeners
  • HTML5 button Defaults to submit (Surprise!)
  • CSS opacity Breaks Child Elements — Use RGBA Instead
  • ASP.NET Core Health Checks That Actually Matter
  • ASP.NET Core “Slow Startup” — Reflection Scanning Trap

Most Viewed Posts

  • Get the User Name and Domain Name from an Email Address in SQL (915)
  • Get the First and Last Word from a String or Sentence in SQL (798)
  • How to select distinct rows in a datatable in C# (773)
  • How to add default value for Entity Framework migrations for DateTime and Bool (773)
  • How to make theater mode the default for Youtube (602)

Recent Posts

  • Visual Studio “F5 Takes Forever” — IIS Express Cache
  • WordPress Slow First Load — Autoloaded Options Table
  • Windows 11 Laptop Overheats — Turbo Boost Gone Wrong
  • Windows 11 Slow Context Menu — The Explorer Extension Trap
  • AJAX “Works Once, Then Fails” — Cached POST Response

Social

  • ErcanOPAK.com
  • GoodReads
  • LetterBoxD
  • Linkedin
  • The Blog
  • Twitter
© 2025 Bits of .NET | Built with Xblog Plus free WordPress theme by wpthemespace.com