Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Gebruik IDENTITY alleen in een SELECT statement met een INTO table clausule om een identiteitskolom toe te voegen aan een nieuwe tabel. Hoewel vergelijkbaar, is de IDENTITY functie niet dezelfde als de IDENTITY eigenschap die je gebruikt met CREATE TABLE en ALTER TABLE.
Opmerking
Om een automatisch verhogend nummer te maken dat je in meerdere tabellen kunt gebruiken of vanuit applicaties kunt aanroepen zonder naar een tabel te verwijzen, zie Sequentienummers.
Transact-SQL syntaxis-conventies
Syntaxis
Syntax for SQL Server, Azure SQL Database, Azure SQL Managed Instance, SQL database in Fabric:
IDENTITY ( data_type [ , seed , increment ] ) AS column_name
Syntaxis voor Fabric Data Warehouse:
IDENTITY ( data_type ) AS column_name
Argumenten
data_type
Het datatype van de identiteitskolom. Geldige datatypes voor een identiteitskolom zijn alle datatypes in de categorie gehele datatype, behalve het bitdatatype of het decimale datatype.
zaad
De geheel waarde die aan de eerste rij in de tabel wordt toegekend. Elke volgende rij krijgt de volgende identiteitswaarde, die de laatste IDENTITY waarde plus de incrementwaarde is. Als je geen seed of increment specificeert, staan beide standaard 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 deze functie een kolom in een tabel aanmaakt, moet je een naam voor de kolom in de selectielijst op een van de volgende manieren opgeven:
--(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;
Ondersteuning in Microsoft Fabric Data Warehouse
In Fabric Data Warehouse kun je geen waarden specificeren seedincrement omdat het systeem deze waarden automatisch beheert om unieke gehele getallen te leveren. Voor een kolomdefinitie in een CREATE TABLE statement hoef je alleen . te gebruiken BIGINT IDENTITY Voor meer informatie, zie CREATE TABLE (Transact-SQL) IDENTITY (Eigendom) en IDENTITY in Fabric Data Warehouse.
Voorbeelden
Het volgende voorbeeld voegt alle rijen uit de Contact tabel in de AdventureWorks2025-database in in een nieuwe tabel genaamd NewContact. De IDENTITY functie stelt de identificatienummers in om te beginnen bij 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