Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Använd IDENTITY endast i en SELECT sats med en INTO table klausul för att lägga till en identitetskolumn i en ny tabell. Även om funktionen är lik, är den IDENTITY inte densamma som egenskapen IDENTITY du använder med CREATE TABLE och ALTER TABLE.
Anmärkning
För att skapa ett automatiskt ökande nummer som du kan använda i flera tabeller eller anropa från applikationer utan att referera till någon tabell, se Sekvensnummer.
Transact-SQL syntaxkonventioner
Syntax
Syntax for SQL Server, Azure SQL Database, Azure SQL Managed Instance, SQL Database in Fabric:
IDENTITY ( data_type [ , seed , increment ] ) AS column_name
Syntax för Fabric Data Warehouse:
IDENTITY ( data_type ) AS column_name
Argumentpunkter
data_type
Datatypen i identitetskolumnen. Giltiga datatyper för en identitetskolumn är alla datatyper i heltalsdatatypskategorin , förutom bitdatatypen eller decimaldatatypen .
frö
Heltalsvärdet som ska tilldelas första raden i tabellen. Varje efterföljande rad får nästa identitetsvärde, vilket är det sista IDENTITY värdet plus inkrementvärdet . Om du inte specificerar seed eller increment, är båda standarden 1.
öka
Heltalsvärdet som läggs till seedvärdet för successiva rader i tabellen.
column_name
Namnet på kolumnen som ska infogas i den nya tabellen.
Returtyper
Returnerar samma som data_type.
Anmärkningar
Eftersom denna funktion skapar en kolumn i en tabell måste du ange ett namn för kolumnen i select-listan på ett av följande sätt:
--(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;
Stöd i Microsoft Fabric Data Warehouse
I Fabric Data Warehouse kan du inte specificera seed eller increment värden eftersom systemet automatiskt hanterar dessa värden för att ge unika heltal. För en kolumndefinition i ett CREATE TABLE uttalande behöver du bara använda BIGINT IDENTITY. För mer information, se CREATE TABLE (Transact-SQL) IDENTITY (Egendom) och IDENTITY i Fabric Data Warehouse.
Exempel
Följande exempel infogar alla rader från Contact tabellen i AdventureWorks2025-databasen i en ny tabell som heter NewContact. Funktionen IDENTITY sätter identifieringsnumren att börja på 100 istället för 1 i tabellen NewContact .
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