Aracılığıyla paylaş


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.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

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