Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Lager in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
IDENTITY wird nur in einer SELECT Anweisung mit einer INTO-Tabellenklausel verwendet, um eine Einheitsspalte in eine neue Tabelle einzufügen. Obwohl ähnlich, ist die IDENTITY Funktion nicht die IDENTITY Eigenschaft, die mit CREATE TABLE und ALTER TABLEverwendet wird.
Hinweis
Weitere Informationen zu einer automatisch inkrementierten Zahl, die in mehreren Tabellen verwendet oder aus Anwendungen aufgerufen werden kann, ohne dass auf eine Tabelle verwiesen wird, finden Sie unter Sequenznummern.
Transact-SQL-Syntaxkonventionen
Syntax
IDENTITY (data_type [ , seed , increment ] ) AS column_name
Argumente
data_type
Der Datentyp der Identitätsspalte. Gültige Datentypen für eine Identitätsspalte sind beliebige Datentypen aus der Integerdatentypkategorie (mit Ausnahme des bit-Datentyps) oder der decimal-Datentyp.
Samen
Der ganzzahlige Wert, der der ersten Zeile in der Tabelle zugewiesen werden soll. Jeder nachfolgenden Zeile wird jeweils der nächste Identitätswert zugewiesen, der sich aus dem letzten IDENTITY-Wert plus dem increment-Wert ergibt. Ist weder der Ausgangswert (seed) noch der inkrementelle Wert (increment) angegeben, gilt für beide der Standardwert 1.
Zunahme
Der ganzzahlige Wert, der zum Startwert für aufeinanderfolgende Zeilen in der Tabelle hinzugefügt werden soll.
column_name
Der Name der Spalte, die in die neue Tabelle eingefügt werden soll.
Rückgabetypen
Gibt denselben Wert zurück wie data_type.
Hinweise
Da diese Funktion eine Spalte in einer Tabelle erstellt, muss für die Spalte ein Name in der Auswahlliste angegeben werden. Dies kann auf zwei Arten geschehen:
--(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;
Im Fabric Data Warehouse kann man nicht angeben seed oder increment, da diese Werte automatisch verwaltet werden, um eindeutige ganze Zahlen bereitzustellen.
BIGINT IDENTITY ist alles, was für eine Spaltendefinition in einer CREATE TABLE Aussage erforderlich ist. Weitere Informationen finden Sie unter CREATE TABLE (Transact-SQL), IDENTITY (Property) und IDENTITY in Fabric Data Warehouse.
Beispiele
Das folgende Beispiel fügt alle Zeilen aus der Contact Tabelle aus der AdventureWorks2025-Datenbank in eine neue Tabelle namens NewContact. Die IDENTITY Funktion wird verwendet, um Identifikationsnummern bei 100 statt 1 in der NewContact Tabelle zu beginnen.
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