Aracılığıyla paylaş


IDENTITY (işlev) (Transact-sql)

Yalnızca bir select deyimi ile bir Into kullanılır tablekimlik sütunu yeni bir tabloya eklemek için yan. Her ne kadar benzer, IDENTITY işlevi create table ve alter table ile kullanılan kimlik özelliği değil.

[!NOT]

Çoklu tablolarda kullanılabilir veya bu çağrılabilir uygulamalardan herhangi bir tabloya başvuran olmadan otomatik olarak artan bir sayı oluşturmak için bkz: Sıra numaraları.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

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

Bağımsız değişkenler

  • data_type
    Kimlik sütununun veri türüdür. Geçerli veri türleri için kimlik sütunu olan tamsayı veri türü kategori veri türleri dışında bitveri türü veya decimalveri türü.

  • seed
    Tablodaki ilk satıra atanacak tamsayı değeridir. Sonraki her satır için son kimlik değeri eşittir sonraki kimlik değeri atanır artı incrementdeğer. Eğer ne seedne increment belirtilirse, her ikisi de varsayılan 1.

  • increment
    Tamsayı değeri eklemek için seediçin ardışık satırlar tablodaki değer.

  • column_name
    Yeni tabloya eklenecek olan sütun addır.

Dönüş Türleri

Aynı işlevi data_type*.*

Açıklamalar

Bu işlev bir tablodaki 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;

--(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 örnek,'den tüm satırlar ekler Contactdan masa AdventureWorksveritabanı adı verilen yeni bir tabloya NewContact. IDENTITY işlevi tanımlama numaraları 1'de yerine 100 başlatmak için kullanılan NewContacttablosu.

USE AdventureWorks2012;
GO
IF OBJECT_ID (N'Person.NewContact', N'U') IS NOT NULL
    DROP TABLE Person.NewContact;
GO
ALTER DATABASE AdventureWorks2012 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 AdventureWorks2012 SET RECOVERY FULL;
GO
SELECT ContactNum, First, Last FROM Person.NewContact;
GO

USE AdventureWorks2012;
GO
IF OBJECT_ID (N'Person.NewContact', N'U') IS NOT NULL
    DROP TABLE Person.NewContact;
GO
ALTER DATABASE AdventureWorks2012 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 AdventureWorks2012 SET RECOVERY FULL;
GO
SELECT ContactNum, First, Last FROM Person.NewContact;
GO

Ayrıca bkz.

Başvuru

Tablo (Transact-sql) oluştur

@@ IDENTITY (Transact-sql)

IDENTITY (Özellik) (Transact-SQL)

select @ local_variable (Transact-sql)

DBCC CHECKIDENT (Transact-SQL)

sys.identity_columns (Transact-sql)