Skip to main content

Identity Column - SQL Server

 Identity column in SQL server

IDENTITY property used to create an identity column in a table. It will be used with the CREATE TABLE and ALTER TABLE Transact-SQL statements. This column should be integer based column which will be handled by SQL server.

Syntax

            IDENTITY [ (seed , increment) ]

seed
Is the value that is used for the very first row loaded into the table.

increment
Is the incremental value that is added to the identity value of the previous row that was loaded.

You must specify both the seed and increment or neither. If neither is specified, the default is (1,1).

Example

            CREATE TABLE Student

( 

 RollNumber int IDENTITY(1,1), 

 name varchar (50), 

 ..); 

You must specify both the seed and increment or neither. If neither is specified, the default is (1,1).

Remarks

Identity columns can be used for generating key values. The identity property on a column guarantees the following:

·       Each new value is generated based on the current seed & increment.

·       Each new value for a particular transaction is different from other concurrent transactions on the table.

The identity property on a column does not guarantee the following:

·       Uniqueness of the value - Uniqueness must be enforced by using a PRIMARY KEY or UNIQUE constraint or UNIQUE index.

 ·       Consecutive values within a transaction - A transaction inserting multiple rows is not guaranteed to get consecutive values for the rows because other concurrent inserts might occur on the table. If values must be consecutive then the transaction should use an exclusive lock on the table or use the SERIALIZABLE isolation level.

·       Consecutive values after server restart or other failures - SQL Server might cache identity values for performance reasons and some of the assigned values can be lost during a database failure or server restart. This can result in gaps in the identity value upon insert. If gaps are not acceptable then the application should use its own mechanism to generate key values. Using a sequence generator with the NOCACHE option can limit the gaps to transactions that are never committed.

·       Reuse of values - For a given identity property with specific seed/increment, the identity values are not reused by the engine. If a particular insert statement fails or if the insert statement is rolled back then the consumed identity values are lost and will not be generated again. This can result in gaps when the subsequent identity values are generated.

Reference :

              https://learn.microsoft.com/en-us/sql/t-sql/statements/create-table-transact-sql-identity-property?view=sql-server-ver16

             

Comments

Popular posts from this blog

SFTP Integration in SSIS package Using WinSCP DLL

  In this blog, I am planning to write about SSIS SFTP Task details and reference sites, upload and download the files from SFTP server using SSIS package with help of the winscp library. Steps to configure the winscp DLL and Download Files 1.        Please download the DLL and required files from below path https://winscp.net/eng/downloads.php#additional 2.        Once Downloaded, use the below comments to add in Local GAC "Path to the gacutil exe \gacutil.exe" /i WinSCPnet.dll 3.        Please use the below URL as guide to implement the SSIS script task to download the files from SFTP using winscp as library https://winscp.net/eng/docs/library_ssis 4.        I am just briefing the steps based on the above URL what we can try in SSIS package. 5.        Please create the below variables in SSIS package which we need ...

SQL Server - Tables

  What is Table?               Tables are database objects that contain all the data in a database. In tables, data is logically organized in a row-and-column format similar to a spreadsheet. Each row represents a unique record, and each column represents a field in the record.               There are different types of table available in SQL Server 1.        Partitioned Tables 2.        Temporal tables 3.        Wide Tables 4.        System Tables Please refer the below link to more about the Tables. https://learn.microsoft.com/en-us/sql/relational-databases/tables/tables?view=sql-server-ver16   Create a table in SQL Server There are multiple ways to create a table in SQL server. 1.    ...

SQL Server - Data Types

Data Types  In this post I have collected the information from micro soft site and keep all the same in a single page.  Please find the details    Data types are the heart of the SQL language, as developer or designer we need to see the every data as data type, how we can store the data in the database. In SQL Server, each column, local variable, expression, and parameter has a related data type. A data type is an attribute that specifies the type of data that the object can hold: integer data, character data, monetary data, date and time data, binary strings, and so on. In SQL Server, based on the characteristic data types grouped as below categories Exact Numerics Unicode character strings   Approximate Numerics Binary strings Date and time Other data types Character strings   ...