Aracılığıyla paylaş


KİmLİk (İşlev) (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric'te DepoMicrosoft Fabric'te SQL veritabanı

IDENTITY yalnızca SELECT INTO tablo cümlesi olan bir ifadede yeni bir tabloya bir kimlik sütunu eklemek için kullanılır. Benzer olmasına rağmen, IDENTITY fonksiyon ve IDENTITYile CREATE TABLE kullanılan özellik değildirALTER TABLE.

Uyarı

Birden çok tabloda kullanılabilecek veya herhangi bir tabloya başvurmadan uygulamalardan çağrılabilen otomatik olarak artan bir sayı oluşturmak için bkz. sıra numaraları.

Transact-SQL söz dizimi kuralları

Sözdizimi

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

Tartışmalar

data_type

Kimlik sütununun veri türü. Kimlik sütunu için geçerli veri türleri, bit veri türü veya ondalık veri türü dışında tamsayı veri türü kategorisinin veri türleridir.

tohum

Tablodaki ilk satıra atanacak tam sayı değeri. Sonraki her satıra, son IDENTITY değerine ve artım değerine eşit olan bir sonraki kimlik değeri atanır. Ne tohum ne de artış belirtilmezse, 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 işlev tabloda bir sütun oluşturduğundan, sütun için bir ad aşağıdaki yollardan biriyle seçim listesinde belirtilmelidir:

--(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;  

Fabric Data Warehouse'da veya (, seedbelirtemezsinizincrement, çünkü bu değerler otomatik olarak yönetilir ve benzersiz tam sayılar sağlanır. BIGINT IDENTITY bir ifadede CREATE TABLE sütun tanımı için gereken tek şeydir. Daha fazla bilgi için, Fabric Data Warehouse'daCREATE TABLE (Transact-SQL) ) IDENTITY (Property) ve IDENTITY bölümlerine bakınız.

Örnekler

Aşağıdaki örnek, AdventureWorks2025 veritabanındaki tablodaki tüm satırları Contact yeni bir tabloya ekler NewContact. Bu IDENTITY fonksiyon, kimlik numaralarını NewContact tablodaki 1 yerine 100'den başlatmak için kullanılır.

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