Anteckning
Å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 Managed Instance
Används endast i en SELECT-instruktion med en INTO-tabellsats för att infoga en identitetskolumn i en ny tabell. Även om den är liknande är identitetsfunktionen inte den identitetsegenskap som används med CREATE TABLE och ALTER TABLE.
Anmärkning
Information om hur du skapar ett automatiskt inkrementellt tal som kan användas i flera tabeller eller som kan anropas från program utan att referera till någon tabell finns i Sekvensnummer.
Transact-SQL syntaxkonventioner
Syntax
IDENTITY (data_type [ , seed , increment ] ) AS column_name
Argumentpunkter
data_type
Är datatypen för identitetskolumnen. Giltiga datatyper för en identitetskolumn är alla datatyper i kategorin heltalsdatatyp, förutom bitdatatypen eller decimaldatatypen .
frö
Är heltalsvärdet som ska tilldelas till den första raden i tabellen. Varje efterföljande rad tilldelas nästa identitetsvärde, vilket är lika med det senaste IDENTITY-värdet plus inkrementsvärdet . Om varken seed eller increment har angetts, är båda standardvärdet 1.
öka
Är heltalsvärdet som ska läggas till i startvärdet för efterföljande rader i tabellen.
column_name
Är namnet på kolumnen som ska infogas i den nya tabellen.
Returtyper
Returnerar samma som data_type.
Anmärkningar
Eftersom den här funktionen skapar en kolumn i en tabell, måste ett namn för kolumnen anges i urvalslistan på något 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;
Exempel
I följande exempel infogas alla rader från Contact
tabellen från databasen AdventureWorks2022 i en ny tabell med namnet NewContact
. Funktionen IDENTITY används för att starta identifieringsnummer vid 100 i stället för 1 i NewContact
tabellen.
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
Se även
SKAPA TABELL (Transact-SQL)
@@IDENTITY (Transact-SQL)
IDENTITY (egenskap) (Transact-SQL)
SELECT @local_variable (Transact-SQL)
DBCC CHECKIDENT (Transact-SQL)
sys.identity_columns (Transact-SQL)