Delen via


IDENTITY (functie) (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

IDENTITY wordt alleen gebruikt in een SELECT statement met een INTO-tabelclausule om een identiteitskolom in een nieuwe tabel in te voegen. Hoewel vergelijkbaar, is de IDENTITY functie niet de IDENTITY eigenschap die wordt gebruikt met CREATE TABLE en ALTER TABLE.

Opmerking

Zie Reeksnummersals u een automatisch oplopend getal wilt maken dat kan worden gebruikt in meerdere tabellen of die vanuit toepassingen kunnen worden aangeroepen zonder naar een tabel te verwijzen.

Transact-SQL syntaxis-conventies

Syntaxis

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

Argumenten

data_type

Het datatype van de identiteitskolom. Geldige gegevenstypen voor een identiteitskolom zijn alle gegevenstypen van de categorie geheel getalgegevenstypen, met uitzondering van het bitgegevenstype of het decimale gegevenstype.

zaad

De gehele waarde die aan de eerste rij in de tabel wordt toegekend. Aan elke volgende rij wordt de volgende identiteitswaarde toegewezen, die gelijk is aan de laatste IDENTITEITSwaarde plus de incrementele waarde. Als geen seed of increment is opgegeven, worden beide standaard ingesteld op 1.

incrementele

De geheel getal die wordt toegevoegd aan de seedwaarde voor opeenvolgende rijen in de tabel.

column_name

De naam van de kolom die in de nieuwe tabel moet worden ingevoegd.

Retourtypen

Retourneert hetzelfde als data_type.

Opmerkingen

Omdat met deze functie een kolom in een tabel wordt gemaakt, moet op een van de volgende manieren een naam voor de kolom worden opgegeven in de selectielijst:

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

In Fabric Data Warehouse kun je niet specificeren seed of increment, omdat deze waarden automatisch worden beheerd om unieke gehele getallen te leveren. BIGINT IDENTITY is alles wat nodig is voor een kolomdefinitie in een CREATE TABLE stelling. Voor meer informatie, zie CREATE TABLE (Transact-SQL) IDENTITY (Property) en IDENTITY in Fabric Data Warehouse.

Voorbeelden

Het volgende voorbeeld voegt alle rijen uit de Contact tabel uit de AdventureWorks2025-database in in een nieuwe tabel genaamd NewContact. De IDENTITY functie wordt gebruikt om identificatienummers te beginnen op 100 in plaats van 1 in de NewContact tabel.

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