IDENTITY (Fonksiyon) (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsMicrosoft Fabric'te DepoMicrosoft Fabric'te SQL veritabanı

Yalnızca SELECT bir cümle içeren INTO table bir ifadede yeni bir tabloya bir kimlik sütunu eklemek için kullanınIDENTITY. Benzer olmasına rağmen, IDENTITY fonksiyon ve ile kullandığınız CREATE TABLEALTER TABLEözellikle aynı değildirIDENTITY.

Uyarı

Birden fazla tabloda kullanabileceğiniz veya herhangi bir tabloya başvurmadan uygulamalardan çağrı yapabileceğiniz otomatik olarak artan bir sayı oluşturmak için Dizi Sayıları bölümünü inceleyin.

Transact-SQL söz dizimi kuralları

Sözdizimi

Syntax for SQL Server, Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, SQL database in Fabric:

IDENTITY ( data_type [ , seed , increment ] ) AS column_name  

Fabric Data Warehouse için Sözdizimi:

IDENTITY ( data_type ) AS column_name  

Tartışmalar

data_type

Kimlik sütununun veri türü. Bir kimlik sütunu için geçerli veri türleri, tam sayı veri tipi kategorisindeki herhangi bir veri tipidir; bit veri tipi veya ondalık veri türü hariçtir.

tohum

Tablodaki ilk satıra atanan tam sayı değeri. Sonraki her satır, son değer artı artış değeri olan bir sonraki kimlik değerini IDENTITY alır. Tohum veya artış belirtmezseniz, her ikisi de varsayılan olarak 1 olur.

artım

Tablodaki ardışık satırlar için tohum değerine eklenecek tam sayı değeri.

column_name

Yeni tabloya eklenecek sütunun adı.

Dönüş türleri

data_type ile aynı değeri döndürür.

Açıklamalar

Bu fonksiyon bir tabloda bir sütun oluşturduğundan, seçim listesinde sütunun adını aşağıdaki yöntemlerden biriyle belirtmeniz gerekir:

--(1)  
SELECT IDENTITY(int, 1,1) AS ID_Num  
INTO NewTable  
FROM OldTable;  

--(2)  
SELECT ID_Num = IDENTITY(int, 1, 1)  
INTO NewTable  
FROM OldTable;  

Microsoft Fabric Data Warehouse

Fabric Data Warehouse'de, sistem bu değerleri otomatik olarak yöneterek benzersiz tam sayılar sağladığı için değerleri veya increment değerleri belirleyemezsinizseed. Bir CREATE TABLE ifadede sütun tanımı için sadece BIGINT IDENTITY. Daha fazla bilgi için (Transact-SQL) CREATE TABLE (Property) ve Fabric Data Warehouse'de bakınızIDENTITY.IDENTITY

Örnekler

Aşağıdaki örnek, AdventureWorks2025 veritabanındaki tablodaki tüm satırları Contact yeni bir tabloya ekler NewContact. Fonksiyon, IDENTITY tanımlama numaralarını tablodaki NewContact 1 yerine 100'den başlayacak şekilde ayarlar.

USE AdventureWorks2022;  
GO  
IF OBJECT_ID (N'Person.NewContact', N'U') IS NOT NULL  
    DROP TABLE Person.NewContact;  
GO  
ALTER DATABASE AdventureWorks2022 SET RECOVERY BULK_LOGGED;  
GO  
SELECT  IDENTITY(smallint, 100, 1) AS ContactNum,  
        FirstName AS First,  
        LastName AS Last  
INTO Person.NewContact  
FROM Person.Person;  
GO  
ALTER DATABASE AdventureWorks2022 SET RECOVERY FULL;  
GO  
SELECT ContactNum, First, Last FROM Person.NewContact;  
GO