KİMLİK (işlev) (Transact-SQL)
Yalnızca bir INTO ile select deyim içinde kullanılan tableYeni bir tablobir kimlik sütun eklemek içinyan tümce . Benzer, ancak kimlik işlev create table ve alter table ile kullanılan kimlik özellik değil.
Sözdizimi
IDENTITY (data_type [ , seed , increment ] ) AS column_name
Bağımsız değişkenler
data_type
Kimlik sütunveri türüdür.Kimlik sütun için geçerli veri türleri dışında tüm tamsayı veri türü kategori veri türleri olan bit veri türü veya decimal veri türü.seed
tabloilk satırı için tamsayı değeridir.Sonraki her satır son kimlik değerine eşit sonraki kimlik değeri atanır ve increment değer.İkisi de, seed ne de increment belirtilmişse, her ikisi de varsayılan 1.increment
Tamsayı değeri eklemek için seed değeri tabloardışık satırlar için.column_name
Yeni tabloeklenecek sütun addır.
Dönüş Türleri
Aynı işlevi data_type*.*
Açıklamalar
Bu işlev bir tablo sütun oluşturduğundan, sütun için bir ad seçme listesinde aşağıdaki yollardan biriyle belirtilmesi 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;
Örnekler
Aşağıdaki örnekte,'den tüm satırlar ekler Person tablo AdventureWorks2008R2 Yeni bir tablo adı verilen bir veritabanında NewContact.işlev kimlik tanımlama numaraları 1'de yerine 100 başlatmak için kullanılır NewContacttablo.
USE AdventureWorks2008R2;
GO
IF OBJECT_ID (N'Person.NewContact', N'U') IS NOT NULL
DROP TABLE Person.NewContact;
GO
ALTER DATABASE AdventureWorks2008R2 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 AdventureWorks2008R2 SET RECOVERY FULL;
GO
SELECT ContactNum, First, Last FROM Person.NewContact;
GO